From 81e8b82581e89b3b83223fd96b744b525940517a Mon Sep 17 00:00:00 2001 From: Deploy from CI Date: Wed, 28 Feb 2024 20:10:55 +0000 Subject: [PATCH] Deploy d7297f79d46e1c083fd3f2dbe77c5a10bb23007d 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 | 96 + .gitignore | 27 + 404.html | 223 + BUILD | 137 + CNAME | 1 + 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 | 279 + chapter_1/BUILD | 9 + chapter_1/hello_world.claro | 1 + chapter_1/hello_world.generated_docs.html | 245 + clipboard.min.js | 7 + common_programming_concepts.html | 233 + .../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 | 243 + .../string_formatting/BUILD | 7 + .../string_formatting/ex1.claro | 28 + .../string_formatting/ex2.claro | 1 + .../string_formatting.generated_docs.html | 291 + .../var_reassignment/BUILD | 7 + .../var_reassignment/ex1.claro | 5 + .../var_reassignment.generated_docs.html | 247 + .../variables_and_types/BUILD | 13 + .../variables_and_types/ex1.claro | 7 + .../variables_and_types/ex1_cleanup.claro | 7 + .../variables_and_types.generated_docs.html | 259 + concurrency.html | 258 + control_flow.html | 238 + control_flow/collection_comprehension/BUILD | 12 + ...llection_comprehension.generated_docs.html | 305 + .../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 | 267 + 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 | 346 + 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 | 279 + 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 | 340 + control_flow/match/match.generated_docs.html | 351 + 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 | 273 + 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 | 307 + 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 | 312 + control_flow/repeat/BUILD | 10 + control_flow/repeat/ex1.claro | 3 + control_flow/repeat/ex2.claro | 5 + .../repeat/repeat.generated_docs.html | 268 + 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 | 313 + copying/BUILD | 10 + copying/copying.generated_docs.html | 292 + 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 | 348 + 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 | 323 + copying/performance/BUILD | 16 + copying/performance/ex1.claro | 5 + copying/performance/ex2.claro | 44 + .../performance.generated_docs.html | 333 + css/chrome.css | 606 ++ css/general.css | 234 + css/print.css | 50 + css/variables.css | 279 + custom_blocks.css | 22 + elasticlunr.min.js | 10 + error_handling/BUILD | 16 + .../error_handling.generated_docs.html | 327 + error_handling/error_propagation/BUILD | 13 + .../error_propagation.generated_docs.html | 307 + error_handling/error_propagation/ex1.claro | 28 + error_handling/error_propagation/ex2.claro | 18 + error_handling/ex1.claro | 1 + error_handling/ex2.claro | 20 + error_handling/ex3.claro | 34 + favicon.png | Bin 0 -> 297535 bytes .../fearless_concurrency.html | 244 + 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 | 274 + generics/BUILD | 1 + generics/contracts/BUILD | 23 + .../contracts/contracts.generated_docs.html | 289 + generics/contracts/dynamic_dispatch/BUILD | 66 + .../claro_contracts_setup.claro | 29 + .../dynamic_dispatch.generated_docs.html | 641 ++ generics/contracts/dynamic_dispatch/ex1.claro | 9 + .../contracts/dynamic_dispatch/ex10.claro | 29 + generics/contracts/dynamic_dispatch/ex10.java | 15 + .../contracts/dynamic_dispatch/ex11.claro | 3 + generics/contracts/dynamic_dispatch/ex2.java | 64 + generics/contracts/dynamic_dispatch/ex3.java | 13 + generics/contracts/dynamic_dispatch/ex4.claro | 9 + generics/contracts/dynamic_dispatch/ex5.java | 13 + generics/contracts/dynamic_dispatch/ex6.claro | 6 + generics/contracts/dynamic_dispatch/ex7.claro | 2 + generics/contracts/dynamic_dispatch/ex8.claro | 4 + generics/contracts/dynamic_dispatch/ex9.claro | 7 + generics/contracts/ex1.claro | 4 + generics/contracts/ex2.claro | 9 + generics/contracts/ex_contract.claro | 3 + .../contracts/implementing_contracts/BUILD | 37 + .../implementing_contracts/ex2.claro | 2 + .../implementing_contracts/ex3.claro | 2 + .../implementing_contracts/ex4.claro | 2 + .../implementing_contracts/ex_impls.claro | 11 + ...implementing_contracts.generated_docs.html | 304 + generics/contracts/multiple_type_params/BUILD | 21 + .../contracts/multiple_type_params/ex1.claro | 5 + .../contracts/multiple_type_params/ex2.claro | 29 + .../contracts/multiple_type_params/ex3.claro | 40 + .../multiple_type_params/implied_types/BUILD | 43 + .../implied_types/ex1.claro | 5 + .../implied_types/ex2.claro | 44 + .../implied_types/ex3-cleanup.claro | 1 + .../implied_types/ex3.claro | 3 + .../implied_types/ex4.claro | 7 + .../implied_types/ex6.claro | 33 + .../implied_types.generated_docs.html | 452 + .../multiple_type_params.generated_docs.html | 353 + 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 | 345 + getting_started/BUILD | 0 getting_started/first_program/BUILD | 42 + .../first_program.generated_docs.html | 314 + .../hello_world_binary_target.txt | 5 + getting_started/getting_started.html | 277 + getting_started/intro_to_modules/BUILD | 59 + .../intro_to_modules.generated_docs.html | 357 + .../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 | 383 + graph_procedures/BUILD | 15 + .../calling_graph_procedures/BUILD | 29 + ...lling_graph_procedures.generated_docs.html | 279 + .../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 | 295 + .../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 | 287 + .../graph_procedures.generated_docs.html | 268 + guaranteed_data_race_free/BUILD | 28 + guaranteed_data_race_free/ex1-setup.claro | 12 + guaranteed_data_race_free/ex1.claro | 5 + guaranteed_data_race_free/ex2-setup.claro | 15 + guaranteed_data_race_free/ex2.claro | 6 + guaranteed_data_race_free/ex3.claro | 2 + guaranteed_data_race_free/ex4.claro | 2 + ...ranteed_data_race_free.generated_docs.html | 390 + guaranteed_deadlock_free.html | 272 + guaranteed_deadlock_free/BUILD | 20 + .../blocking_procedures/BUILD | 20 + .../blocking_procedures.generated_docs.html | 266 + .../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 | 258 + .../re_what_color_is_your_function/BUILD | 33 + .../blocking_generics.generated_docs.html | 327 + .../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 + http_servers/BUILD | 72 + http_servers/empty_endpoint_handlers.claro | 6 + http_servers/endpoint_handler_impls.claro | 7 + .../endpoint_handler_impls.claro_module_api | 3 + http_servers/endpoint_handlers.claro | 15 + http_servers/ex-http-service.claro | 4 + http_servers/http_dep_workaround.claro | 1 + http_servers/http_servers.generated_docs.html | 367 + http_servers/start_the_server.claro | 2 + images/BUILD | 11 + images/BuggyBuggiesAPI.png | Bin 0 -> 175843 bytes images/BuggyBuggiesDemo.gif | Bin 0 -> 162603 bytes ...tapodOfferWeapon-transparentBackground.png | Bin 0 -> 29797 bytes index.html | 279 + json_parsing/BUILD | 25 + json_parsing/ex1-format.claro | 12 + json_parsing/ex1.claro | 15 + json_parsing/json_parsing.generated_docs.html | 309 + 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 | 346 + ...first_class_procedures.generated_docs.html | 273 + mark.min.js | 7 + mermaid-init.js | 35 + mermaid@10.6.1.min.js | 1648 ++++ metaprogramming/BUILD | 8 + metaprogramming/code_reuse/BUILD | 7 + .../code_reuse/abstract_modules/BUILD | 101 + .../abstract_modules.generated_docs.html | 411 + .../code_reuse/abstract_modules/animal.bzl | 20 + .../abstract_modules/animals_example.claro | 12 + .../abstract_modules/animals_example_BUILD | 15 + .../abstract_modules/cat_noise.claro | 4 + .../abstract_modules/cat_state_and_cons.claro | 8 + .../default_internal_state.claro | 5 + .../default_make_noise_impl.claro | 4 + .../dog_and_cat_modules_BUILD | 16 + .../abstract_modules/dog_noise.claro | 7 + .../abstract_modules/dog_state_and_cons.claro | 8 + .../platypus_animal_sounds_impl.claro | 11 + .../abstract_modules/platypus_module_BUILD | 13 + .../platypus_state_and_cons.claro | 8 + .../code_reuse/code_reuse.generated_docs.html | 249 + .../code_reuse/reusing_module_apis/BUILD | 84 + .../reusing_module_apis/animals/BUILD | 39 + .../animals/animal.claro_module_api | 9 + .../reusing_module_apis/animals/cat.claro | 16 + .../animals/cat_cons.claro_module_api | 2 + .../reusing_module_apis/animals/dog.claro | 18 + .../animals/dog_cons.claro_module_api | 2 + .../reusing_module_apis/animals_example.claro | 10 + .../reusing_module_apis/animals_example_BUILD | 14 + .../animals_unusable/BUILD | 21 + .../animals_unusable/animal.claro_module_api | 9 + .../animals_unusable/cat.claro | 9 + .../animals_unusable/dog.claro | 11 + .../list_comprehension_animals/BUILD | 23 + .../animal.claro_module_api | 9 + .../list_comprehension_animals/cat.claro | 16 + .../cat_cons.claro_module_api | 2 + .../list_comprehension_animals/dog.claro | 18 + .../dog_cons.claro_module_api | 2 + .../reusing_module_apis/macro_animals/BUILD | 6 + .../macro_animals/animal.claro_module_api | 9 + .../macro_animals/animals.bzl | 18 + .../macro_animals/cat.claro | 16 + .../macro_animals/cat_cons.claro_module_api | 2 + .../macro_animals/dog.claro | 18 + .../macro_animals/dog_cons.claro_module_api | 2 + .../reusing_module_apis.generated_docs.html | 495 + .../code_reuse/reusing_source_code/BUILD | 115 + .../reusing_source_code/cat-defer.claro | 16 + .../reusing_source_code/cat-inheritance.claro | 14 + .../code_reuse/reusing_source_code/cat.claro | 17 + .../default_animal_sounds_impl.claro | 6 + .../code_reuse/reusing_source_code/dog.claro | 21 + .../example_inheritance_BUILD | 6 + .../example_shared_src_BUILD | 6 + .../get_message_with_name.claro | 5 + .../reusing_source_code.generated_docs.html | 430 + .../reusing_source_code/setup.claro | 4 + .../metaprogramming.generated_docs.html | 257 + metaprogramming/templating/BUILD | 64 + metaprogramming/templating/examples/BUILD | 23 + .../templating/examples/ex1.claro.tmpl | 4 + .../templating/examples/homepage.html | 12 + .../templating/templating.generated_docs.html | 356 + .../templating/templating.tmpl.md.tmpl | 65 + module_system/BUILD | 45 + .../demo_binary_w_dep_on_demo_module_BUILD | 13 + module_system/demo_module_BUILD | 26 + module_system/examples/BUILD | 44 + module_system/examples/boxes.claro | 5 + module_system/examples/boxes.claro_module_api | 2 + module_system/examples/contract_impl.claro | 10 + .../example_api_defs.claro_module_api | 8 + .../example_api_stubs.claro_module_api | 3 + module_system/examples/pretty_print.claro | 8 + module_system/examples/test.claro | 10 + module_system/module_apis/BUILD | 6 + module_system/module_apis/flags/BUILD | 71 + .../module_apis/flags/ex1-impl.claro | 10 + .../module_apis/flags/ex1-test.claro | 2 + .../module_apis/flags/ex1-test2.claro | 2 + .../module_apis/flags/ex1.claro_module_api | 4 + .../module_apis/flags/flag_only_BUILD | 14 + .../flags/flags.generated_docs.html | 362 + module_system/module_apis/http_services/BUILD | 32 + .../module_apis/http_services/ex1-impl.claro | 6 + .../http_services/ex1.claro_module_api | 15 + .../module_apis/http_services/ex2.claro | 13 + .../http_services.generated_docs.html | 294 + .../module_apis.generated_docs.html | 247 + .../module_apis/procedure_signatures/BUILD | 24 + .../procedure_signatures.generated_docs.html | 257 + module_system/module_apis/static_values/BUILD | 124 + .../static_values/ex-server-config.json | 12 + .../module_apis/static_values/ex1-impl.claro | 27 + .../static_values/ex1-log-impl.claro | 4 + .../static_values/ex1-log.claro_module_api | 2 + .../module_apis/static_values/ex1-test.claro | 3 + .../static_values/ex1.claro_module_api | 17 + .../static_values.generated_docs.html | 455 + .../module_apis/type_definitions/BUILD | 62 + .../type_definitions/ex3.claro_module_api | 17 + .../type_definitions/ex4.claro_module_api | 7 + .../type_definitions/ex5_no_srcs_BUILD | 8 + .../initializers_and_unwrappers/BUILD | 79 + .../ex1-bad-init-BUILD | 15 + .../ex1-bad-init.claro | 3 + .../ex1-good-init.claro | 6 + .../ex1-part1.claro_module_api | 2 + .../ex1-part2.claro_module_api | 4 + .../ex1-with-init-BUILD | 15 + .../initializers_and_unwrappers/ex1.claro | 7 + ...alizers_and_unwrappers.generated_docs.html | 357 + .../unwrappers/BUILD | 60 + .../ex1-api-unwrappers.claro_module_api | 4 + .../unwrappers/ex1-api.claro_module_api | 7 + .../unwrappers/ex1-impl.claro | 9 + .../unwrappers/ex1-unwrappers-impl.claro | 10 + .../unwrappers/unwrappers.generated_docs.html | 356 + ...te-mut-type-constraints-using-setAge.claro | 10 + .../violate-mut-type-constraints.claro | 13 + .../type_definitions/opaque_types/BUILD | 31 + .../opaque_types/ex1-alt-impl.claro | 5 + .../opaque_types/ex1-impl.claro | 5 + .../opaque_types/ex1.claro_module_api | 2 + .../opaque_types.generated_docs.html | 276 + .../type_definitions.generated_docs.html | 337 + .../module_system.generated_docs.html | 387 + module_system/swapping_deps/BUILD | 84 + .../swapping_deps/binary_hello_BUILD | 8 + .../swapping_deps/binary_look_ma_BUILD | 8 + module_system/swapping_deps/example.claro | 2 + .../extra_exports.claro_module_api | 8 + .../get_message.claro_module_api | 2 + module_system/swapping_deps/hello_world.claro | 3 + module_system/swapping_deps/look_ma.claro | 5 + module_system/swapping_deps/modules_BULD | 14 + .../swapping_deps.generated_docs.html | 339 + module_system/visibility/BUILD | 33 + .../visibility/ex_package_visibility_BUILD | 10 + module_system/visibility/ex_private_BUILD | 11 + .../visibility/ex_public_visibility_BUILD | 10 + .../ex_specific_target_visibility_BUILD | 10 + .../ex_subpackages_visibility_BUILD | 10 + .../visibility/visibility.generated_docs.html | 353 + print.html | 8509 +++++++++++++++++ procedures.html | 241 + procedures/consumers/BUILD | 9 + .../consumers/consumers.generated_docs.html | 255 + procedures/consumers/ex1.claro | 8 + procedures/functions/BUILD | 9 + procedures/functions/ex1.claro | 5 + .../functions/functions.generated_docs.html | 246 + procedures/providers/BUILD | 9 + procedures/providers/ex1.claro | 5 + .../providers/providers.generated_docs.html | 246 + resource_files/BUILD | 17 + resource_files/ex1.claro | 3 + resource_files/ex_BUILD | 9 + resource_files/example_resource.txt | 4 + .../resource_files.generated_docs.html | 277 + searcher.js | 483 + searchindex.js | 1 + searchindex.json | 1 + static_typing/BUILD | 13 + static_typing/aliases/BUILD | 14 + .../aliases/aliases.generated_docs.html | 302 + 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 | 266 + static_typing/atoms/BUILD | 26 + static_typing/atoms/atoms.generated_docs.html | 314 + 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 | 340 + 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 | 315 + 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 | 305 + 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 | 270 + 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 | 274 + 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 | 360 + 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 | 311 + .../oneofs/oneofs.generated_docs.html | 296 + .../static_typing.generated_docs.html | 251 + 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 | 278 + .../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 | 270 + .../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 | 258 + .../recursive_types.generated_docs.html | 288 + .../user_defined_types.generated_docs.html | 344 + stdlib/BUILD | 52 + stdlib/booleans_module.generated_docs.html | 241 + stdlib/default_modules/BUILD | 14 + stdlib/default_modules/EX_BUILD | 8 + .../default_modules.generated_docs.html | 265 + stdlib/default_modules/ex1.claro | 4 + stdlib/deque_module.generated_docs.html | 288 + stdlib/doubles_module.generated_docs.html | 246 + stdlib/files_module.generated_docs.html | 257 + stdlib/floats_module.generated_docs.html | 246 + stdlib/fp_module.generated_docs.html | 244 + stdlib/futures_module.generated_docs.html | 325 + stdlib/ints_module.generated_docs.html | 245 + stdlib/lists_module.generated_docs.html | 379 + stdlib/longs_module.generated_docs.html | 246 + stdlib/maps_module.generated_docs.html | 419 + stdlib/math_module.generated_docs.html | 265 + .../priority_queue_module.generated_docs.html | 255 + stdlib/random_module.generated_docs.html | 256 + stdlib/scanner_module.generated_docs.html | 274 + stdlib/sets_module.generated_docs.html | 337 + stdlib/std_module.generated_docs.html | 253 + .../string_builder_module.generated_docs.html | 242 + stdlib/strings_module.generated_docs.html | 303 + 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 | 358 + .../type_inference.generated_docs.html | 264 + 597 files changed, 57420 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 CNAME 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/string_formatting/BUILD create mode 100644 common_programming_concepts/string_formatting/ex1.claro create mode 100644 common_programming_concepts/string_formatting/ex2.claro create mode 100644 common_programming_concepts/string_formatting/string_formatting.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 error_handling/BUILD create mode 100644 error_handling/error_handling.generated_docs.html create mode 100644 error_handling/error_propagation/BUILD create mode 100644 error_handling/error_propagation/error_propagation.generated_docs.html create mode 100644 error_handling/error_propagation/ex1.claro create mode 100644 error_handling/error_propagation/ex2.claro create mode 100644 error_handling/ex1.claro create mode 100644 error_handling/ex2.claro create mode 100644 error_handling/ex3.claro create mode 100644 favicon.png create mode 100644 fearless_concurrency/fearless_concurrency.html 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/dynamic_dispatch/BUILD create mode 100644 generics/contracts/dynamic_dispatch/claro_contracts_setup.claro create mode 100644 generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html create mode 100644 generics/contracts/dynamic_dispatch/ex1.claro create mode 100644 generics/contracts/dynamic_dispatch/ex10.claro create mode 100644 generics/contracts/dynamic_dispatch/ex10.java create mode 100644 generics/contracts/dynamic_dispatch/ex11.claro create mode 100644 generics/contracts/dynamic_dispatch/ex2.java create mode 100644 generics/contracts/dynamic_dispatch/ex3.java create mode 100644 generics/contracts/dynamic_dispatch/ex4.claro create mode 100644 generics/contracts/dynamic_dispatch/ex5.java create mode 100644 generics/contracts/dynamic_dispatch/ex6.claro create mode 100644 generics/contracts/dynamic_dispatch/ex7.claro create mode 100644 generics/contracts/dynamic_dispatch/ex8.claro create mode 100644 generics/contracts/dynamic_dispatch/ex9.claro 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/ex4.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/contracts/multiple_type_params/BUILD create mode 100644 generics/contracts/multiple_type_params/ex1.claro create mode 100644 generics/contracts/multiple_type_params/ex2.claro create mode 100644 generics/contracts/multiple_type_params/ex3.claro create mode 100644 generics/contracts/multiple_type_params/implied_types/BUILD create mode 100644 generics/contracts/multiple_type_params/implied_types/ex1.claro create mode 100644 generics/contracts/multiple_type_params/implied_types/ex2.claro create mode 100644 generics/contracts/multiple_type_params/implied_types/ex3-cleanup.claro create mode 100644 generics/contracts/multiple_type_params/implied_types/ex3.claro create mode 100644 generics/contracts/multiple_type_params/implied_types/ex4.claro create mode 100644 generics/contracts/multiple_type_params/implied_types/ex6.claro create mode 100644 generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html create mode 100644 generics/contracts/multiple_type_params/multiple_type_params.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_data_race_free/BUILD create mode 100644 guaranteed_data_race_free/ex1-setup.claro create mode 100644 guaranteed_data_race_free/ex1.claro create mode 100644 guaranteed_data_race_free/ex2-setup.claro create mode 100644 guaranteed_data_race_free/ex2.claro create mode 100644 guaranteed_data_race_free/ex3.claro create mode 100644 guaranteed_data_race_free/ex4.claro create mode 100644 guaranteed_data_race_free/guaranteed_data_race_free.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 http_servers/BUILD create mode 100644 http_servers/empty_endpoint_handlers.claro create mode 100644 http_servers/endpoint_handler_impls.claro create mode 100644 http_servers/endpoint_handler_impls.claro_module_api create mode 100644 http_servers/endpoint_handlers.claro create mode 100644 http_servers/ex-http-service.claro create mode 100644 http_servers/http_dep_workaround.claro create mode 100644 http_servers/http_servers.generated_docs.html create mode 100644 http_servers/start_the_server.claro create mode 100644 images/BUILD create mode 100644 images/BuggyBuggiesAPI.png create mode 100644 images/BuggyBuggiesDemo.gif create mode 100644 images/ClaroLogoFromArrivalHeptapodOfferWeapon-transparentBackground.png create mode 100644 index.html create mode 100644 json_parsing/BUILD create mode 100644 json_parsing/ex1-format.claro create mode 100644 json_parsing/ex1.claro create mode 100644 json_parsing/json_parsing.generated_docs.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 metaprogramming/BUILD create mode 100644 metaprogramming/code_reuse/BUILD create mode 100644 metaprogramming/code_reuse/abstract_modules/BUILD create mode 100644 metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html create mode 100644 metaprogramming/code_reuse/abstract_modules/animal.bzl create mode 100644 metaprogramming/code_reuse/abstract_modules/animals_example.claro create mode 100644 metaprogramming/code_reuse/abstract_modules/animals_example_BUILD create mode 100644 metaprogramming/code_reuse/abstract_modules/cat_noise.claro create mode 100644 metaprogramming/code_reuse/abstract_modules/cat_state_and_cons.claro create mode 100644 metaprogramming/code_reuse/abstract_modules/default_internal_state.claro create mode 100644 metaprogramming/code_reuse/abstract_modules/default_make_noise_impl.claro create mode 100644 metaprogramming/code_reuse/abstract_modules/dog_and_cat_modules_BUILD create mode 100644 metaprogramming/code_reuse/abstract_modules/dog_noise.claro create mode 100644 metaprogramming/code_reuse/abstract_modules/dog_state_and_cons.claro create mode 100644 metaprogramming/code_reuse/abstract_modules/platypus_animal_sounds_impl.claro create mode 100644 metaprogramming/code_reuse/abstract_modules/platypus_module_BUILD create mode 100644 metaprogramming/code_reuse/abstract_modules/platypus_state_and_cons.claro create mode 100644 metaprogramming/code_reuse/code_reuse.generated_docs.html create mode 100644 metaprogramming/code_reuse/reusing_module_apis/BUILD create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals/BUILD create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals/animal.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals/cat.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals/cat_cons.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals/dog.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals/dog_cons.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals_example.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals_example_BUILD create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals_unusable/BUILD create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals_unusable/animal.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals_unusable/cat.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/animals_unusable/dog.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/BUILD create mode 100644 metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/animal.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/cat.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/cat_cons.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/dog.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/dog_cons.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/macro_animals/BUILD create mode 100644 metaprogramming/code_reuse/reusing_module_apis/macro_animals/animal.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/macro_animals/animals.bzl create mode 100644 metaprogramming/code_reuse/reusing_module_apis/macro_animals/cat.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/macro_animals/cat_cons.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/macro_animals/dog.claro create mode 100644 metaprogramming/code_reuse/reusing_module_apis/macro_animals/dog_cons.claro_module_api create mode 100644 metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html create mode 100644 metaprogramming/code_reuse/reusing_source_code/BUILD create mode 100644 metaprogramming/code_reuse/reusing_source_code/cat-defer.claro create mode 100644 metaprogramming/code_reuse/reusing_source_code/cat-inheritance.claro create mode 100644 metaprogramming/code_reuse/reusing_source_code/cat.claro create mode 100644 metaprogramming/code_reuse/reusing_source_code/default_animal_sounds_impl.claro create mode 100644 metaprogramming/code_reuse/reusing_source_code/dog.claro create mode 100644 metaprogramming/code_reuse/reusing_source_code/example_inheritance_BUILD create mode 100644 metaprogramming/code_reuse/reusing_source_code/example_shared_src_BUILD create mode 100644 metaprogramming/code_reuse/reusing_source_code/get_message_with_name.claro create mode 100644 metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html create mode 100644 metaprogramming/code_reuse/reusing_source_code/setup.claro create mode 100644 metaprogramming/metaprogramming.generated_docs.html create mode 100644 metaprogramming/templating/BUILD create mode 100644 metaprogramming/templating/examples/BUILD create mode 100644 metaprogramming/templating/examples/ex1.claro.tmpl create mode 100644 metaprogramming/templating/examples/homepage.html create mode 100644 metaprogramming/templating/templating.generated_docs.html create mode 100644 metaprogramming/templating/templating.tmpl.md.tmpl create mode 100644 module_system/BUILD create mode 100644 module_system/demo_binary_w_dep_on_demo_module_BUILD create mode 100644 module_system/demo_module_BUILD 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_api_defs.claro_module_api create mode 100644 module_system/examples/example_api_stubs.claro_module_api create mode 100644 module_system/examples/pretty_print.claro create mode 100644 module_system/examples/test.claro create mode 100644 module_system/module_apis/BUILD create mode 100644 module_system/module_apis/flags/BUILD create mode 100644 module_system/module_apis/flags/ex1-impl.claro create mode 100644 module_system/module_apis/flags/ex1-test.claro create mode 100644 module_system/module_apis/flags/ex1-test2.claro create mode 100644 module_system/module_apis/flags/ex1.claro_module_api create mode 100644 module_system/module_apis/flags/flag_only_BUILD create mode 100644 module_system/module_apis/flags/flags.generated_docs.html create mode 100644 module_system/module_apis/http_services/BUILD create mode 100644 module_system/module_apis/http_services/ex1-impl.claro create mode 100644 module_system/module_apis/http_services/ex1.claro_module_api create mode 100644 module_system/module_apis/http_services/ex2.claro create mode 100644 module_system/module_apis/http_services/http_services.generated_docs.html create mode 100644 module_system/module_apis/module_apis.generated_docs.html create mode 100644 module_system/module_apis/procedure_signatures/BUILD create mode 100644 module_system/module_apis/procedure_signatures/procedure_signatures.generated_docs.html create mode 100644 module_system/module_apis/static_values/BUILD create mode 100644 module_system/module_apis/static_values/ex-server-config.json create mode 100644 module_system/module_apis/static_values/ex1-impl.claro create mode 100644 module_system/module_apis/static_values/ex1-log-impl.claro create mode 100644 module_system/module_apis/static_values/ex1-log.claro_module_api create mode 100644 module_system/module_apis/static_values/ex1-test.claro create mode 100644 module_system/module_apis/static_values/ex1.claro_module_api create mode 100644 module_system/module_apis/static_values/static_values.generated_docs.html create mode 100644 module_system/module_apis/type_definitions/BUILD create mode 100644 module_system/module_apis/type_definitions/ex3.claro_module_api create mode 100644 module_system/module_apis/type_definitions/ex4.claro_module_api create mode 100644 module_system/module_apis/type_definitions/ex5_no_srcs_BUILD create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/BUILD create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-bad-init-BUILD create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-bad-init.claro create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-good-init.claro create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-part1.claro_module_api create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-part2.claro_module_api create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-with-init-BUILD create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1.claro create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/initializers_and_unwrappers.generated_docs.html create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/BUILD create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-api-unwrappers.claro_module_api create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-api.claro_module_api create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-impl.claro create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-unwrappers-impl.claro create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/unwrappers.generated_docs.html create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/violate-mut-type-constraints-using-setAge.claro create mode 100644 module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/violate-mut-type-constraints.claro create mode 100644 module_system/module_apis/type_definitions/opaque_types/BUILD create mode 100644 module_system/module_apis/type_definitions/opaque_types/ex1-alt-impl.claro create mode 100644 module_system/module_apis/type_definitions/opaque_types/ex1-impl.claro create mode 100644 module_system/module_apis/type_definitions/opaque_types/ex1.claro_module_api create mode 100644 module_system/module_apis/type_definitions/opaque_types/opaque_types.generated_docs.html create mode 100644 module_system/module_apis/type_definitions/type_definitions.generated_docs.html create mode 100644 module_system/module_system.generated_docs.html create mode 100644 module_system/swapping_deps/BUILD create mode 100644 module_system/swapping_deps/binary_hello_BUILD create mode 100644 module_system/swapping_deps/binary_look_ma_BUILD create mode 100644 module_system/swapping_deps/example.claro create mode 100644 module_system/swapping_deps/extra_exports.claro_module_api create mode 100644 module_system/swapping_deps/get_message.claro_module_api create mode 100644 module_system/swapping_deps/hello_world.claro create mode 100644 module_system/swapping_deps/look_ma.claro create mode 100644 module_system/swapping_deps/modules_BULD create mode 100644 module_system/swapping_deps/swapping_deps.generated_docs.html create mode 100644 module_system/visibility/BUILD create mode 100644 module_system/visibility/ex_package_visibility_BUILD create mode 100644 module_system/visibility/ex_private_BUILD create mode 100644 module_system/visibility/ex_public_visibility_BUILD create mode 100644 module_system/visibility/ex_specific_target_visibility_BUILD create mode 100644 module_system/visibility/ex_subpackages_visibility_BUILD create mode 100644 module_system/visibility/visibility.generated_docs.html 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 resource_files/BUILD create mode 100644 resource_files/ex1.claro create mode 100644 resource_files/ex_BUILD create mode 100644 resource_files/example_resource.txt create mode 100644 resource_files/resource_files.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 stdlib/BUILD create mode 100644 stdlib/booleans_module.generated_docs.html create mode 100644 stdlib/default_modules/BUILD create mode 100644 stdlib/default_modules/EX_BUILD create mode 100644 stdlib/default_modules/default_modules.generated_docs.html create mode 100644 stdlib/default_modules/ex1.claro create mode 100644 stdlib/deque_module.generated_docs.html create mode 100644 stdlib/doubles_module.generated_docs.html create mode 100644 stdlib/files_module.generated_docs.html create mode 100644 stdlib/floats_module.generated_docs.html create mode 100644 stdlib/fp_module.generated_docs.html create mode 100644 stdlib/futures_module.generated_docs.html create mode 100644 stdlib/ints_module.generated_docs.html create mode 100644 stdlib/lists_module.generated_docs.html create mode 100644 stdlib/longs_module.generated_docs.html create mode 100644 stdlib/maps_module.generated_docs.html create mode 100644 stdlib/math_module.generated_docs.html create mode 100644 stdlib/priority_queue_module.generated_docs.html create mode 100644 stdlib/random_module.generated_docs.html create mode 100644 stdlib/scanner_module.generated_docs.html create mode 100644 stdlib/sets_module.generated_docs.html create mode 100644 stdlib/std_module.generated_docs.html create mode 100644 stdlib/string_builder_module.generated_docs.html create mode 100644 stdlib/strings_module.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..3526ad52 --- /dev/null +++ b/.github/workflows/create-new-riju-release.yml @@ -0,0 +1,96 @@ +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/* . + # Make sure that the GH Pages site has the CNAME file. + cp ../../CNAME . + 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..4fb13a8a --- /dev/null +++ b/404.html @@ -0,0 +1,223 @@ + + + + + + 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..f12a899e --- /dev/null +++ b/BUILD @@ -0,0 +1,137 @@ +load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_file") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") +load("//stdlib/utils/expand_template:expand_template.bzl", "expand_template") + +write_source_file( + name = "write_all_docs", + additional_update_targets = [ + ":generics", + ":write_summary_md", + "//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/string_formatting:string_formatting", + "//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/error_handling:error_handling", + "//mdbook_docs/src/error_handling/error_propagation:error_propagation", + "//mdbook_docs/src/generics/contracts:contracts", + "//mdbook_docs/src/generics/contracts/dynamic_dispatch:dynamic_dispatch", + "//mdbook_docs/src/generics/contracts/implementing_contracts:implementing_contracts", + "//mdbook_docs/src/generics/contracts/multiple_type_params:multiple_type_params", + "//mdbook_docs/src/generics/contracts/multiple_type_params/implied_types:implied_types", + "//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_data_race_free:guaranteed_data_race_free", + "//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/http_servers:http_servers", + "//mdbook_docs/src/images:logo", + "//mdbook_docs/src/json_parsing:json_parsing", + "//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/metaprogramming:metaprogramming", + "//mdbook_docs/src/metaprogramming/code_reuse:code_reuse", + "//mdbook_docs/src/metaprogramming/code_reuse/abstract_modules:abstract_modules", + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis:reusing_module_apis", + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_source_code:reusing_source_code", + "//mdbook_docs/src/metaprogramming/templating:templating", + "//mdbook_docs/src/module_system:module_system", + "//mdbook_docs/src/module_system/module_apis:module_apis", + "//mdbook_docs/src/module_system/module_apis/flags:flags", + "//mdbook_docs/src/module_system/module_apis/http_services:http_services", + "//mdbook_docs/src/module_system/module_apis/procedure_signatures:procedure_signatures", + "//mdbook_docs/src/module_system/module_apis/static_values:static_values", + "//mdbook_docs/src/module_system/module_apis/type_definitions:type_definitions", + "//mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers:initializers_and_unwrappers", + "//mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers:unwrappers", + "//mdbook_docs/src/module_system/module_apis/type_definitions/opaque_types:opaque_types", + "//mdbook_docs/src/module_system/swapping_deps:swapping_deps", + "//mdbook_docs/src/module_system/visibility:visibility", + "//mdbook_docs/src/procedures/consumers:consumers", + "//mdbook_docs/src/procedures/functions:functions", + "//mdbook_docs/src/procedures/providers:providers", + "//mdbook_docs/src/resource_files:resource_files", + "//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/stdlib:write_all_stdlib_docs", + "//mdbook_docs/src/stdlib/default_modules:default_modules", + "//mdbook_docs/src/type_inference:type_inference", + "//mdbook_docs/src/type_inference/required_type_annotations:required_type_annotations", + "//mdbook_docs/theme:logo", + ], +) + + +################################################################# +# BEGIN: Write Generated MdBook Table of Contents (SUMMARY.md). # +################################################################# +expand_template( + name = "generate_summary_md", + template = "SUMMARY.tmpl.md", + substitutions = { + "stdlib_toc": "//mdbook_docs/src/stdlib:mdbook_stdlib_toc", + }, + out = "SUMMARY.templatted.md".format(module_name), +) +write_source_file( + name = "write_summary_md", + in_file = "generate_summary_md", + out_file = "SUMMARY.md", + suggested_update_target = "//mdbook_docs/src:write_all_docs", +) +################################################################# +# END: Write Generated MdBook Table of Contents (SUMMARY.md). # +################################################################# + + +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/CNAME b/CNAME new file mode 100644 index 00000000..8eb12ce1 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +docs.clarolang.com \ 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 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 + + + +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..33ac138a --- /dev/null +++ b/chapter_1.html @@ -0,0 +1,279 @@ + + + + + + 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 provides an +easy-to-use abstraction to statically guarantee that programs are:

+ +

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

+
+ +

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..b7216b5c --- /dev/null +++ b/chapter_1/BUILD @@ -0,0 +1,9 @@ +# BUILD +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") +exports_files(["hello_world.claro", "hello_world.tmpl.md", "BUILD"]) + +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..e6ac7462 --- /dev/null +++ b/chapter_1/hello_world.generated_docs.html @@ -0,0 +1,245 @@ + + + + + + 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..3857b2d2 --- /dev/null +++ b/common_programming_concepts/sep_var_decl_and_init/sep_var_decl_and_init.generated_docs.html @@ -0,0 +1,243 @@ + + + + + + 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/string_formatting/BUILD b/common_programming_concepts/string_formatting/BUILD new file mode 100644 index 00000000..e473a7eb --- /dev/null +++ b/common_programming_concepts/string_formatting/BUILD @@ -0,0 +1,7 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "string_formatting", + doc_template = "string_formatting.tmpl.md", + examples = ["ex1.claro", "ex2.claro"], +) diff --git a/common_programming_concepts/string_formatting/ex1.claro b/common_programming_concepts/string_formatting/ex1.claro new file mode 100644 index 00000000..03154151 --- /dev/null +++ b/common_programming_concepts/string_formatting/ex1.claro @@ -0,0 +1,28 @@ +var s = "!EXAMPLE!"; +print("prefix---{s}--suffix"); + +provider foo() -> string { + return "WOW!"; +} + +# Formatted expressions really are arbitrary expressions, you can even call +# arbitrary procedures from them. +print("prefix---{foo()}---suffix"); + +# Format strings can even be nested, though you should probably have a good +# reason for doing this. +print("prefix---{"inner+++{s}+++inner"}---suffix"); + +# You can also use multiple fmt arg expressions! +print("Name:\t{getRandomName()}\nAge:\t{random::nextNonNegativeBoundedInt(random::forSeed(1), 20)}"); + +provider getRandomName() -> string { + # ... +$$ var names = ["Milo", "Millie", "Ruby"]; +$$ +$$ random::forSeed(2) +$$ |> random::nextNonNegativeBoundedInt(^, 3) +$$ |> var ind = ^; +$$ +$$ return names[ind]; +} diff --git a/common_programming_concepts/string_formatting/ex2.claro b/common_programming_concepts/string_formatting/ex2.claro new file mode 100644 index 00000000..4601f448 --- /dev/null +++ b/common_programming_concepts/string_formatting/ex2.claro @@ -0,0 +1 @@ +print("This string has \{literal \{curlies} in it}"); \ No newline at end of file diff --git a/common_programming_concepts/string_formatting/string_formatting.generated_docs.html b/common_programming_concepts/string_formatting/string_formatting.generated_docs.html new file mode 100644 index 00000000..94a4636d --- /dev/null +++ b/common_programming_concepts/string_formatting/string_formatting.generated_docs.html @@ -0,0 +1,291 @@ + + + + + + String Formatting - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

String Formatting

+

Formatting strings is an incredibly common programming task, whether it be for the sake of debugging or for building +full-fledged CLI programs. Claro attempts to simplify this process by providing syntax sugar for directly templating +arbitrary expressions directly into a string.

+
+

Note: At the moment, Claro only supports single-line strings, but multi-line strings are planned. Stay tuned for +this in a future release.

+
+

To take advantage of this, any expression can be formatted into a string by wrapping it in {...}.

+

Fig 1:

+
+
var s = "!EXAMPLE!";
+print("prefix---{s}--suffix");
+
+provider foo() -> string {
+  return "WOW!";
+}
+
+# Formatted expressions really are arbitrary expressions, you can even call
+# arbitrary procedures from them.
+print("prefix---{foo()}---suffix");
+
+# Format strings can even be nested, though you should probably have a good
+# reason for doing this.
+print("prefix---{"inner+++{s}+++inner"}---suffix");
+
+# You can also use multiple fmt arg expressions!
+print("Name:\t{getRandomName()}\nAge:\t{random::nextNonNegativeBoundedInt(random::forSeed(1), 20)}");
+
+provider getRandomName() -> string {
+  # ...
+  var names = ["Milo", "Millie", "Ruby"];
+
+  random::forSeed(2)
+    |> random::nextNonNegativeBoundedInt(^, 3)
+    |> var ind = ^;
+
+  return names[ind];
+}
+
+

Output:

+
prefix---!EXAMPLE!--suffix
+prefix---WOW!---suffix
+prefix---inner+++!EXAMPLE!+++inner---suffix
+Name:	Millie
+Age:	5
+
+
+

Escaping Curly-Braces in Strings

+

While Format Strings are very convenient, this does have the consequence of giving curly-braces a special significance +in string literals. So, to type a string literal that contains the { char, you must escape it using \{, for example:

+

Fig 2:

+
+
print("This string has \{literal \{curlies} in it}");
+
+

Output:

+
This string has {literal {curlies} in it}
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + 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..3fab84fc --- /dev/null +++ b/common_programming_concepts/var_reassignment/var_reassignment.generated_docs.html @@ -0,0 +1,247 @@ + + + + + + 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..bd06b6b8 --- /dev/null +++ b/common_programming_concepts/variables_and_types/variables_and_types.generated_docs.html @@ -0,0 +1,259 @@ + + + + + + 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..46cac88b --- /dev/null +++ b/concurrency.html @@ -0,0 +1,258 @@ + + + + + + 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..ec31eb26 --- /dev/null +++ b/control_flow.html @@ -0,0 +1,238 @@ + + + + + + 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..7c2e921c --- /dev/null +++ b/control_flow/collection_comprehension/collection_comprehension.generated_docs.html @@ -0,0 +1,305 @@ + + + + + + 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..54b272aa --- /dev/null +++ b/control_flow/collection_comprehension/more_than_syntax_sugar/more_than_syntax_sugar.generated_docs.html @@ -0,0 +1,267 @@ + + + + + + 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..33e47bba --- /dev/null +++ b/control_flow/for/for.generated_docs.html @@ -0,0 +1,346 @@ + + + + + + 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..dc6fa777 --- /dev/null +++ b/control_flow/if_else/if_else.generated_docs.html @@ -0,0 +1,279 @@ + + + + + + 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..ff71b0b1 --- /dev/null +++ b/control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html @@ -0,0 +1,340 @@ + + + + + + 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..3cddfc20 --- /dev/null +++ b/control_flow/match/match.generated_docs.html @@ -0,0 +1,351 @@ + + + + + + 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..8f5fa2fe --- /dev/null +++ b/control_flow/match/structed_data/structured_data.generated_docs.html @@ -0,0 +1,273 @@ + + + + + + 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..33e81a68 --- /dev/null +++ b/control_flow/match/wildcards/wildcards.generated_docs.html @@ -0,0 +1,307 @@ + + + + + + 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..69cb7e9c --- /dev/null +++ b/control_flow/pipes/pipes.generated_docs.html @@ -0,0 +1,312 @@ + + + + + + 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..f56088a5 --- /dev/null +++ b/control_flow/repeat/repeat.generated_docs.html @@ -0,0 +1,268 @@ + + + + + + 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...
+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..bc562c49 --- /dev/null +++ b/control_flow/while/while.generated_docs.html @@ -0,0 +1,313 @@ + + + + + + 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..220d3246 --- /dev/null +++ b/copying/copying.generated_docs.html @@ -0,0 +1,292 @@ + + + + + + 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..d7cce9a1 --- /dev/null +++ b/copying/known_bugs/known_bugs.generated_docs.html @@ -0,0 +1,348 @@ + + + + + + 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(37), ComplexData(6)}), ComplexData((ComplexData((ComplexData(-1), ComplexData(-1))), ComplexData(82))), ComplexData({ComplexData(2), ComplexData(64), ComplexData(81)})})
+
+
+

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..0989e265 --- /dev/null +++ b/copying/mutability_coercion/mutability_coercion.generated_docs.html @@ -0,0 +1,323 @@ + + + + + + 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..f35054d8 --- /dev/null +++ b/copying/performance/performance.generated_docs.html @@ -0,0 +1,333 @@ + + + + + + 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. +
+

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 rigorous "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.739 seconds
+Builtin copy time: 1.35E-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.toArray();o + + + + + Error Handling - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Error Handling

+

Claro takes a very principled stance that all control flow in the language should be modeled in a way that is +self-consistent within the type system - as such, Claro chooses not to model errors around "throwing Exceptions". While +many languages (e.g. Java/Python/C++/etc.) were designed around thrown exceptions as their error modeling tool, they all +suffer from the same antipattern that make it impossible to determine strictly from looking at a procedure signature +whether it's possible for the call to fail, and if so, what that failure might look like. This leads users into +unnecessary digging to read implementation details to determine how and why certain unexpected error cases inevitably +arise.

+

So, taking inspiration from many prior languages such as Rust, Haskell, and Go, Claro requires errors to be modeled +explicitly in procedures' signatures as possible return types so that all callers must necessarily either handle any +potential errors, or explicitly ignore them or propagate them up the call stack.

+

std::Error<T>

+

Claro's +std +module exports the following type definition:

+

Fig 1:

+
+
newtype Error<T> : T
+
+
+

This type is a trivial wrapper around any arbitrary type. Its power is in the special treatment that the compiler gives +to this type to power Claro's error handling functionality. But first, let's take a look at how a procedure might make +use of this type to represent states in practice - the below example demonstrates a function that models safe indexing +into a list:

+

Fig 2:

+
+
atom IndexOutOfBounds
+function safeGet<T>(l: [T], i: int) -> oneof<T, std::Error<IndexOutOfBounds>> {
+  if (i < 0 or i >= len(l)) {
+    return std::Error(IndexOutOfBounds);
+  }
+  return l[i];
+}
+
+var l = [1, 2, 3];
+match (safeGet(l, getRandomIndex())) {
+  case _:std::Error<IndexOutOfBounds> -> print("Index out of bounds!");
+  case X                              -> print("Successfully retrieved: {X}");
+}
+# ...
+provider getRandomIndex() -> int {
+  random::forSeed(1)
+    |> random::nextNonNegativeBoundedInt(^, 8)
+    |> var i = ^;
+  return i;
+}
+
+

Output:

+
Index out of bounds!
+
+
+

To drive the example home, instead of wrapping an atom which doesn't provide any information beyond the description of +the error itself, the error could wrap a type that contains more information:

+

Fig 3:

+
+
atom TooHigh
+atom TooLow
+newtype IndexOutOfBounds : struct {
+  reason: oneof<TooHigh, TooLow>,
+  index: int
+}
+function safeGet<T>(l: [T], i: int) -> oneof<T, std::Error<IndexOutOfBounds>> {
+  if (i < 0) {
+    return std::Error(IndexOutOfBounds({reason = TooLow, index = i}));
+  } else if (i >= len(l)) {
+    return std::Error(IndexOutOfBounds({reason = TooHigh, index = i}));
+  }
+  return l[i];
+}
+
+var l = [1, 2, 3];
+match (safeGet(l, getRandomIndex())) {
+  case std::Error(ERR) ->
+    var unwrappedErr = unwrap(ERR);
+    match (unwrappedErr.reason) {
+      case _:TooHigh ->
+        print("Index {unwrappedErr.index} is too high!");
+      case _:TooLow ->
+        print("Index {unwrappedErr.index} is too low!");
+    }
+  case X -> print("Successfully retrieved: {X}");
+}
+# ...
+provider getRandomIndex() -> int {
+  random::forSeed(1)
+    |> random::nextNonNegativeBoundedInt(^, 8)
+    |> var i = ^;
+  return i;
+}
+
+

Output:

+
Index 5 is too high!
+
+
+

Continue on to the next section to learn about how Claro enables simple propagation of std::Error<T> values.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/error_handling/error_propagation/BUILD b/error_handling/error_propagation/BUILD new file mode 100644 index 00000000..f3afd56a --- /dev/null +++ b/error_handling/error_propagation/BUILD @@ -0,0 +1,13 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "error_propagation", + doc_template = "error_propagation.tmpl.md", + examples = [ + "ex1.claro", + { + "example": "ex2.claro", + "append_output": False, + } + ], +) diff --git a/error_handling/error_propagation/error_propagation.generated_docs.html b/error_handling/error_propagation/error_propagation.generated_docs.html new file mode 100644 index 00000000..5562b5b3 --- /dev/null +++ b/error_handling/error_propagation/error_propagation.generated_docs.html @@ -0,0 +1,307 @@ + + + + + + Error Propagation - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Error Propagation via ?= Operator

+

As mentioned in the previous section, the power of Claro's builtin std::Error<T> type comes from the special treatment +that the compiler gives to values of that type. Specifically, Claro gives you the ability to early-return an error value +from a procedure. If for some reason a procedure has no way of actually handling a potential error itself, it can opt to +delegate the handling of the error to any callers. This allows the procedure doing error propagation to be written to +handle only the "happy path".

+

This example demonstrates a procedure that propagates potential errors to its callers:

+

Fig 1:

+
+
atom IndexTooHigh
+atom IndexTooLow
+function safeGet<T>(l: [T], i: int)
+  -> oneof<T, std::Error<IndexTooHigh>, std::Error<IndexTooLow>> {
+  # ...
+  if (i < 0) {
+    return std::Error(IndexTooLow);
+  } else if (i >= len(l)) {
+    return std::Error(IndexTooHigh);
+  }
+  return l[i];
+}
+
+function getRandomPairFromList<T>(l: [T], rng: random::RandomNumberGenerator)
+    -> oneof<tuple<T, T>, std::Error<IndexTooHigh>, std::Error<IndexTooLow>> {
+  # std::Error may propagate from either call to safeGet(...).
+  var first: T ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5));
+  # Note the type annotation isn't necessary.
+  var second ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5));
+  return (first, second);
+}
+
+var rng = random::forSeed(0);
+
+var firstPair = getRandomPairFromList([1, 2, 3, 4], rng);
+print(firstPair);
+var secondPair = getRandomPairFromList([1, 2, 3, 4], rng);
+print(secondPair);
+
+

Output:

+
(1, 4)
+Error(IndexTooHigh)
+
+
+
+

Note: The error propagation above doesn't allow the caller to know details about whether the error came from the +first or second call to safeGet(). This may or may not be desirable - but the design space is left open to Claro users +to decide how they want to signal errors to best model the noteworthy states of their problem domain.

+
+

?= Operator Drops All Error Cases

+

You can observe in the above example that the ?= operator will propagate any std::Error<T> found on the +right-hand-side of the assignment. So, as a result, the value that reaches the variable on the left-hand-side of the +assignment will drop all std::Error<T> variants from the oneof<...>.

+

Below, some examples are listed to indicate the resulting type of the ?= operator:

+

Fig 2:

+
+
atom A
+atom B
+atom C
+
+provider demoErrorPropagation() -> oneof<A, B, std::Error<B>, std::Error<C>> {
+  # When there would be multiple non-error variants, the result type remains a oneof<...>.
+  var firstPotentialErr: oneof<A, B, std::Error<C>> = # ...
+    A;
+  var firstTypeDemo: oneof<A, B> ?= firstPotentialErr;
+  _ = firstTypeDemo;
+
+  # When there would only be a single non-error variant, the result type is narrowed to a concrete type.
+  var secondPotentialErr: oneof<A, std::Error<B>, std::Error<C>> = # ...
+    A;
+  var secondTypeDemo: A ?= secondPotentialErr;
+
+  return secondTypeDemo;
+}
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/error_handling/error_propagation/ex1.claro b/error_handling/error_propagation/ex1.claro new file mode 100644 index 00000000..26a16197 --- /dev/null +++ b/error_handling/error_propagation/ex1.claro @@ -0,0 +1,28 @@ +atom IndexTooHigh +atom IndexTooLow +function safeGet(l: [T], i: int) + -> oneof, std::Error> { + # ... +$$ if (i < 0) { +$$ return std::Error(IndexTooLow); +$$ } else if (i >= len(l)) { +$$ return std::Error(IndexTooHigh); +$$ } +$$ return l[i]; +} + +function getRandomPairFromList(l: [T], rng: random::RandomNumberGenerator) + -> oneof, std::Error, std::Error> { + # std::Error may propagate from either call to safeGet(...). + var first: T ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5)); + # Note the type annotation isn't necessary. + var second ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5)); + return (first, second); +} + +var rng = random::forSeed(0); + +var firstPair = getRandomPairFromList([1, 2, 3, 4], rng); +print(firstPair); +var secondPair = getRandomPairFromList([1, 2, 3, 4], rng); +print(secondPair); \ No newline at end of file diff --git a/error_handling/error_propagation/ex2.claro b/error_handling/error_propagation/ex2.claro new file mode 100644 index 00000000..b309a312 --- /dev/null +++ b/error_handling/error_propagation/ex2.claro @@ -0,0 +1,18 @@ +$$atom A +$$atom B +$$atom C +$$ +provider demoErrorPropagation() -> oneof, std::Error> { + # When there would be multiple non-error variants, the result type remains a oneof<...>. + var firstPotentialErr: oneof> = # ... +$$ A; + var firstTypeDemo: oneof ?= firstPotentialErr; +$$ _ = firstTypeDemo; + + # When there would only be a single non-error variant, the result type is narrowed to a concrete type. + var secondPotentialErr: oneof, std::Error> = # ... +$$ A; + var secondTypeDemo: A ?= secondPotentialErr; + + return secondTypeDemo; +} diff --git a/error_handling/ex1.claro b/error_handling/ex1.claro new file mode 100644 index 00000000..e23db9d2 --- /dev/null +++ b/error_handling/ex1.claro @@ -0,0 +1 @@ +newtype Error : T \ No newline at end of file diff --git a/error_handling/ex2.claro b/error_handling/ex2.claro new file mode 100644 index 00000000..f93d3250 --- /dev/null +++ b/error_handling/ex2.claro @@ -0,0 +1,20 @@ +atom IndexOutOfBounds +function safeGet(l: [T], i: int) -> oneof> { + if (i < 0 or i >= len(l)) { + return std::Error(IndexOutOfBounds); + } + return l[i]; +} + +var l = [1, 2, 3]; +match (safeGet(l, getRandomIndex())) { + case _:std::Error -> print("Index out of bounds!"); + case X -> print("Successfully retrieved: {X}"); +} +# ... +$$provider getRandomIndex() -> int { +$$ random::forSeed(1) +$$ |> random::nextNonNegativeBoundedInt(^, 8) +$$ |> var i = ^; +$$ return i; +$$} diff --git a/error_handling/ex3.claro b/error_handling/ex3.claro new file mode 100644 index 00000000..00167065 --- /dev/null +++ b/error_handling/ex3.claro @@ -0,0 +1,34 @@ +atom TooHigh +atom TooLow +newtype IndexOutOfBounds : struct { + reason: oneof, + index: int +} +function safeGet(l: [T], i: int) -> oneof> { + if (i < 0) { + return std::Error(IndexOutOfBounds({reason = TooLow, index = i})); + } else if (i >= len(l)) { + return std::Error(IndexOutOfBounds({reason = TooHigh, index = i})); + } + return l[i]; +} + +var l = [1, 2, 3]; +match (safeGet(l, getRandomIndex())) { + case std::Error(ERR) -> + var unwrappedErr = unwrap(ERR); + match (unwrappedErr.reason) { + case _:TooHigh -> + print("Index {unwrappedErr.index} is too high!"); + case _:TooLow -> + print("Index {unwrappedErr.index} is too low!"); + } + case X -> print("Successfully retrieved: {X}"); +} +# ... +$$provider getRandomIndex() -> int { +$$ random::forSeed(1) +$$ |> random::nextNonNegativeBoundedInt(^, 8) +$$ |> var i = ^; +$$ return i; +$$} diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..d68fcebb3288b0d85a17aa60acb72a6c0392b21d GIT binary patch literal 297535 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 z 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 z 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 M_n!QZq2$zG0Nzs1T>t<8 literal 0 HcmV?d00001 diff --git a/fearless_concurrency/fearless_concurrency.html b/fearless_concurrency/fearless_concurrency.html new file mode 100644 index 00000000..eb5e3dd5 --- /dev/null +++ b/fearless_concurrency/fearless_concurrency.html @@ -0,0 +1,244 @@ + + + + + + Fearless Concurrency - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 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

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 zcmV)1K+V5*Pew8T0RR910HlZj5dZ)H0bW!90Hh@V0RR9100000000000000000000 z0000QE*lUWfmQ}!0EY+&fhGx$G!YC6gtP>M=}Zfb3IG8%0we>R0t6rhgcb+74Ge-9 zTjVft2Gv{ZPLNP8+s40C^n!vFvOzaW{&m|X(g zC9Sl8st%`)?H_a$5eR~jnNA3@VM+$-X|9Q4SRz}3T?hNe?C+F%cJTiFx>|#9LB7UCd zc^)A$&!3O!s}{TRUY9XREElo z6qO}ptC^na5o%?hs;b$pmF!Lfb_duFVE2G6fJ=|z%G!OLus1ed;aphbLN%4`_nXnjVvIR08sk>C*L0BG>W&Y*VL=g#s1^0wQ7*I_JzrLB#BtGpaG7 zW)ybMUh3x3Id$6?`8fpK7~`0Q4h0u$2kvtvjn0`1*_CjB;Oz&t+dC42=Sbex0KV;2 zLG}UAQ*BW~ z@cGRCmuBuv`cZaOo`Y~8G)iLxLb2Ob;@oR`Urzm%U6i6C<4Cji%25(K&u(3UmFEMU z3bzk{Cm>F`(i#dOI9xsfvbI;n6QdMHQc1)sE#W^pt;FtC?@P#RPEC77e-k>Z-l zgPO1TbbBU;^=dCBi6}X)sjhfffrpq0-I0kd1watHg+6s6AqFTdTsup7_zCZcSgyjS5Pi+2#2Y}d&iDIqyGLK{Y(5V zNHWWAEGWDcdON6u<&=;mnMhy?lH!t*GEM-zA#8KU4r2(mmWO5QFaqzb|No_GZGQno zv(y%8T6CbgCr}ePS=|%X>KHc5329k%|NHf;epL}bfnWec2?Uf#S~3VyJ`m+lAHcW) zNPP|{PLd{RLdqZ|b<^x5v+W5fE;e>glvkb*SH0NoXR+Rl&;PyCKNetyQ#&4LU~m1~ zScu&}2Wr~!z_gS9I5nyKpLD}M-*(rcN03>d%7WlUmQPpf|657A2Q5GiQ;J*`-U$on zg6C;YZIgf3x3MB8bJm3m#C|}ETsoBqIpr&Cr5I1_H|+o4ilsZHVf9|R6;l5tb{S0ZUQ6a=!d4x7--JKnJEZH3is`Ar6K9s(nN#uydl&& z3ZWwe3F-bc=gb^&0WDwNGcW-f!k-iYL^Vc&7KXuPkA!qn4po{GK#)pSit1DkX%K}d zQ+r1dPMkDK+G&QsM6;Eum$tZLV6}0zpxJVy7XOwe2!DW%(sUAS%f*0d*!tWJ7&gES z%LtMX!6e4y2Y^2^K;J>qc<6ESvx5T!{hybx69?8U+v%tUw0mxSeo#aOL?S|#6SWYK zZu$JySpgD^m@u=Fr#)Y$isaJ2WKpY5YgRwhG9Inm?%{F#Bz_nF{KT+`?)v^rwp?Lw zIQ?z`ztbsXOP9C2|Ix?W)-C;8pY5w{wdbkWY9wnfTR(qX_LS_$_~-b~q=^ori)b0G zq&0K_T})TeHFN{*rI*mF=yS`9%WEr2QJ_dr&K6q- zW;?3zfA>mXn|7r=FYurnxmUcLjeg`aAA3D`b74t<4+NJr4QJzvHS`97E;H{jruO#B|Cn1#1VU%+?0GT(fiit zYa*}ed_|mBd8gM?9$y>!Fp50xkK5z@`tw4?dLa4e(G#6Z+buOs4dWX_?LF+Y10)1QYmFS5w)lxmv3A z`SGz-TeVk5b=H5*U(eravZkJYKk#FH{&|v#iIa16c~4Bf`L#V2G;Sz z+-3nx*n;>KdufmM%&qx;yDqXBm$5?t*$GnrtbroyM71YZvtV7UYekp+$knKa(U(fn z(}bx4K99>`vzQDzjYB{)_^~>i^A3xmVrU>94KfHf;zg;iq)A6tyN{Y2<@WQ|G z;3@_I)Mr4bsZj+s9Hv?mWSVtpTQppG(1BnkH9R#nL&X7sr!_(zUPwd8tkiH26Utb~ zjBbjX9x1M-ezrsUin^9<2DUHe2;T-aMUomGMyR#EK!l0HrwG}`XLU6Aa^}hu7RqtE ze+Uvp3JqJ)hgHYW@>W9H+megNT65jk!h!XdK(QN4=%MwCWlE*Bo6XaRRFyL$f%C8& zBpiYm8YSX3Y^77q_n3Q!RCIiPq{qGR(1LJ1vL6XU+_G^tI){!+rg`!dY(KuhBUmJ@~3#N?nOsL_4Nd;#vWP^X_MrCy$ zhkV{b92fOQloc~twHN~De8jZ@eO=BHzBy$DGI8S}A`rWbyMBXW5fYZvhhlLNT)DU^ zp>08E^sla?H-Ox$9%w%xt27t~l20|spLD`m07vTA)dlFsSxxgryXO2IbXPx(Y0!fPBIA$4%!3_WN!r$!6m1@ zF}uk?g7lrfGVm3_oEHU~$N&zcjuRTYYTyBKk})>Of#76-OQHk?-0kimiaEd>WRBnn zoSM)KZ>;*>g+PP^AHq=tYOz3arE~`h%pC^Gzz9q+E`~NCl3C%ty<-5EyPaO5sBKM{ zX3ev2GX+DvwNvxP)v?d*zePxx#p<9=0;z5bV6#g?SQ0)Ps_GXAQx)?PcLwexBrM2M z*#vpd4X84=1hgS!eE+~|&Oo31p-kyc?Vg>v|1nDcwG0FVCYaD5lJH^Xy!s(ZN&VVR z1vEVX`fdg&dIMzF2YOWl{z4{YhZ9f`pek0|_)HiBcCk++vOeAxJus<{LYxcDh9(r6 zgBL+0jDeivkxP)oYJyXzN}BXE2Z;dL$b2M_E-BI|nVx}Iq$xXqWI6LwV3I-*_8_5X zM?l_zK%@Li7!W{ud{w+lEh0uRax)!((Tp)jF~_5EIvL7L>B`4=!{XNoO~zLI)Cn2T zM9P3Vq8*TWz=V8A3kWLQ6Dh7__~e=yoWR7D<%=Vu! zgrK>F_EiO=)WNS5LJik)$22UDz{^y-0hknUIFCSX!f&vPETi}E8&s>(m`O-xa^X%_ zh-YF)lC9UFRX^?SsxwGY(`_^>+G#pXlP(zioo)kRw=U?3-UH}j%)z-TMio+krnAg3 z2lLKNh-8LNMCH%Z{AL7nEWNE-Xiv3aJass!kH=x3JlF%-%qRkAIxhl9#rl?r7}>e~ z>7Z?!_ThXSqi{Otrzz<^g+9-IKi~K3!kK$0Th%;bC>>fv$_Wy9?aa)?(+q!}_1`tD z1%>%I-@j(WnvyQ9E%IES81QCbCSq~oSlBsqsDj8$aObFNE*z#iX&5%C$-rsg36*1z zvUW@iFAS1vvd7{Gr}@+YSwW_gO|!lOSBzd>kxa6x3&9M z*SVBlHRgV`-@Wti1HM@*F~-|GFZ+JH`iu8>e_xm3&~-7+>o|J@&NRgY!U0a zvWW$74uNnKf>$F>zJQzrs8pbUjq8P>lQfYr(x?e)M>TF-hhfHPW8_X+#W7+^cLgmHEkNhSG6$KZViP^V za-|j2#TS_{@k&>W<-s6_KZA-g8rssCi<&YwVjyyaCIxd$mW^TcxVFixeto_cK(pRv z6}nuvp(yuT`DjQ|m2e2zW5y(oxuw>p5;%8aRH2x4RHxX+DFVu-Uz=OkeB0hloHDeG zkAcdGeF)803Hs?O`azb-o$|{cg#2kLi^WiS1?t4=Vi@g|L2X-!5_hEK-Ky}29XoEk zp)6<5B{_M*3s{~xjin?`fv6Etq8%=+~VAH)Ovdc zsJ|r6K_Wo)pOIl9&XHpLa#Izji5TZiNHYk19+Z62aI_=79D(eQ(eDXXSS@b0%W-RE z>1r9YOrU%m9h0{Cu0+zak5XrW7wAsAJcWc0N9ubZ@}y6^a&--8SY_34KB*oTbzfYf z#ySbI00p@>E-@vMSb|*3OGm*fdFizZrevs8Khu5&z0i9y@8ycqWm^@zGe2|JLt1Ks zd7iw$cNDhM6TCX|RY!@?oZDnpsIwDDd5;ZF9S#O@3>2sQ_qHfcN}#SKjd0I;v7zC7vd3wXQhjmB^o8ugF9=95e~Pl6lK@DfAqt8JC?xmq zxw!HHj<$vRxsi?vrEfD$D%7 zGeogpm15^9R%y@aI^!Dr+Bh{hEff*NZeu4QZGlj0_e$^A1W~Z?u7_FyHS1wj)o*?Lh^nQ!PMLj+h*N<1KFLjGFITk}R zrrOk2+lT2fvbU9a))--$oLdqI;NCf=fx2a=LHgJ0=_wT`RkJ*H`_&7A$w=Q*Io?q= z$K5_>yZ88^);`H>j^`&Sk%`;{h*IZQ@ld6$nboM}AT*qo;gqP?OKBiIUCboTD_8{1 zxt1yB(@4D*9K~=D(aL*foo@;z48v^}dC{io%^+oT-{g*X%;5Z_j@LVYQt?T0e~E@$ zI1QB2l}?Ye$qb%S20#U+4<&p-LQC(uFzbcW{sH+LDPKMs|50BLc{hC?q^S#^JTUATlLBXl$?*pFV=-qO7CaQ!ldv z``=!|DhStrDCoruia!9g63#itp16=A$HP{16_U@ze9pH01wEgIbMtCpE?OpX4`YFV zBz3ygj%gC3WqCPK)EKEqSZ?xMLR@|+=l$NaoRS6oQ6w6pkG!BUt(038lmit~z4;u2 z-*ov8rwkXJMJJNYVpT*Ry1F*ri~SL4n=VDJiiSBTi|2Rry`k(Fbh`H)pC}-MBURVI zDiix3dfOJp^*-Q0k$R=dR?|rkH9JmJpE{G~vTmZH&uPSofWB}gyFRCVXa&xvNFZ85 zb|t3JRC@ARqcQopU4@EtN}dj-kCX-7iMlMkH4To+W4o6KIv#Zr_(1S_d9O`qj?MGa#We2yf>pjb<>t^fepRsg7i z*1|bgW*(JWz$#2AwI&RfN*E$3Zi5e*Q(gCw-YnS9?+A&?F!mqQaD!WLPjOL>T=Ti{ zetSLJ+Tq)GN{&hT{ia0{Ft!1 z(75-MlJ5PA0@WI-mR<|vOVC>A!9g7;|3pv1;TBn3?o8K0)cOo4$E!ntX2j2RB!EW~ z;^^tAyl#e1JD_=Vcq9F-bUhJNxmd*hiSy`1xS&E?ZRwC+(!vT%(%t_ZGbWtI!23ABj3;dc9VC?YN4dVi$mPS6UY~7WBY-NnTK4TegYD`@M$x0+%4>`D+!t*O*Fc z&Br+Cd^`;?w7O(9CL?)-0Fx~yhuxwCUZeeLORsy>oUzM&@g!HsH zn+L<`ac)Q<=kp`-v`Bpk?v^^BvA{Ov4$n68cs9jpBkC)hhd-oY(u(0zrB_HvUIEnw zf)3J&l)Qnsw1|^k_@}s_!jVhOr2{@#J5*KBwPL8a zz0nl2s(@t;C|kpPxmAvPo0uEime@-YE|Ok}v_J!Fz=!@zbDpQk3&*~D*oquiu(78~ z1l6`WwM##?Y?`S(UTgjY&@-buKl3})lk!pv{vh6D#K=3<5>pZqluPHN5tkO1Me{4FK){<^m9jXm))_WytQJgj5#c~$qG)Zx zQKl*=PBIQ-R@CG!c2B+Z{INq%>b#pM%E-1*U;1Shk9-OE>t+IWE8k@Edm@J+Muv9y zF~gm$U?$l7#cGZc>%3da-*4j12?^0z)xPm}XMo&F=PM7<$(4+T7J$bch=g< z71focgQ)Co9e9cA>Q`g3J+98*T53l#lY^%8bV7V~Fso)dN>G7*wsogMhFcF2yn3fE zPZkwEc`!I}awLByxd=>65%gt#N}NSG=8-5E2+8ISzGdwS3Iw>}IP!$0>P#4D2rMkQ z`j&~nw@I*UE$~03CRtfFfTSk__Ec_zq1&4cOCQ?C$-+kxgdqgOJ1PT`_xYXz?^j$s z&C5kt^-yRHnCz5?qp<$cCe(Rvt3r{UNR@jtK3o2yuWf1fm)-Dg`TW#0^3}rfmVNg(nFP??z;bfmu3v=^6kiSa_b^KHWE60x@;kno>YkZhGiqN&f zoxt>J|V>w_Ns5?;kSKL2QN^4Jkjsf+XFwSUG?Kc zrxTd5N_uFy@8{acQ}lk7nBi9Yx}&OP5jHHqldiTIz<74dG~{ZFQFftaSg}Ed&DJoZ zI5b4u>Z{~?TiDxKMquQgA;H})Pl=hD(#OsX(xWV{U|)1U1K~>FqR|&ojxn}k&R4Ur zDC-`JeMcJR#SoH-6l|QZ!Clxe9CHM*#hWL)Vg9EXdP>FY6h+h0GgWd1GU~*wyz?d# zxal^Yuqc(HQHGb&o$n}dyZUF7H2k6{6(lREbuDp)%`KXS!!8fmPxn3@h1$)arx#qX@g_oqo!>Cz1iaVCC@$!fYe zi;6PtEUdlA`*VN5pa&X!GW@i9#iBs-iW7%=w_o}K$&qmEzT|{iCzJu>$t1Y3tOJ4E z=s4lEi1Q;|AY1L8X%;?E$Mf#0ZcQtDCOQKrMfMy$NIxy;K?xtZ5aw3E=t4B1VMFj?M2?C7;>u3mQ9NH(68@0-p!llcQM zM+TmI1wY363AY1mep1$%DCrEd!^1sjsph!P71Vr{3Rfv(mgWkyN!oc}J`#KWR;MYu zlKqP!#4YS|Svqi->Dde92g|`a!FEVk&$Mh_Dbn-1!OE zntg$FC1A{&HrBPnn&`|1wOg-X_#oP*_urP~V%_(4D^*P%__Ud%P1c0#@xsnjjDGsSO_?b*QBpob;7KL5zUaG0paYw3= zuPAVDcw~~up|c`TmJ`V23*AL8l))o#5B#et5xoq>na>KQmgta+Ujsml{lHGG)@4jed+^hdeM|Uae?kIFuG-?GbyO_aK(`l0KO&K(o)`Lh2%i40}zy`(!UQ_=iWN)KG@_vIN%azg7#uivk?- zgd$l>+6`_1dW!wDp_mZ=tqd%zLfZ{BS-SG-ORtYtIv?wjA=C$_bm6}#C8Jv$EG~kL z8@VDK3!sd1MDez6Pg_tt55ck+c5aDApbr6?-M(pfN3vR?)+7 zzV0^sI*-cV+n!=g2dJcIvsEQFgLrci8-_CudWcH%S}*?{X_1^Z$Z25TovTbnj&0KT z{0b-tSF{1gj`Q?dp65Nd(WKI^xaUb)T~;#23#fr3qg~q|dX=SywPiV%jf&12<#$Sv z=2qUjupRsa`bcon4z43^RY}cED4+&|*w?Ejehi*(OYUS)b2PzsD|w)Js>umRDOq|c zLx2QT$U+PnsW?;DqOhB?b}J|c74bW{od6?B4wa*Kp(%m38|F)j47H8tYQl%YJ#Kq7 zk%%VNH?jpcva(#L?{zfXR$q$%Nwg&Hjz0p(1C=j3S7Z2QGvwMyjXwzTQj3t=W8g^yvEWfr)f;}n7V@T$7!YgpEwr$lsPcX+xgNudJN7r$( zguFw_Sx9N4JSurT;6^MQA;XtNO}QYs4x4u z4PDUhqjj;{LH!sl^5}zbA>-F+_wV9XU*WyQhHXU^MSm2w`EG)DaH`{P^U2l-Q9tWO zI%6wwBCJ!A>;iU69nk+8E!xW4Z_FK4&|ftgJcCkbL-Di z2a!#3g8CGA(hVND+oYMyLa+s&wdnz~B4Ur_2%#8KQEWVWX{+8vvEWYi15$ni5e5-g zq7)_&u*n>`f|)|ZuY`~+W$YFD?9N-+D-GFMHKx4@K2E@P>Bv39(TzV%uDzj+zk%&M z1Rp!6cG1YeK@0w;d%-os0@j1s4Z>tK^-fNNN6mdPu4!7ENZ`@Fh9Xs z>EmDdrCVUdW$5?b`@;Cf04x< zxFGU+AKXp7*vb6`tTYFP$rL31p>@r$_a7qJ@GfAKObdX2vA6oFb^}lX)4%I@C1(UE z>V63c=;C6Y50E(Ey`|!ze|5950Ldg*lBZk-kn#2(!(&Ec;zr}5Mx!D|IZZ!@$1cl# zGU$Ef$iOHyEwS-kVuKmxAdqLL#^Y0x*%=xZK85UfJB=bYLOEyOPXctNzsl8~a(^9P zn7O{>Z+*q}jWRiZSs>~%_}sT}p}@4%)_vfmYv})X7kv1AkOj zfCY_+p$Dyfb+H9EqshYTYzevbwmVzj8{zyEA9mtsyw1;bqJ3etOOe4Yz=!Z9sc!k8 zQ;?y?v#mKME#p4b0`f(@*+YWN9M*AHUw+(Et~4aYx8;6G94=cTp?1rW(AwP*=C?GW z#$Lw@z#)`vQAe2tti=Oq7m1Ma+JpULcOMQGvWWXYP zNyt4n&FSlRJn|IEo2|}q#~nFQPU?+f_TMdzk;bGLmlH6@JBHQ{i-tRfh3@Vdks2W_ zmg%U`xMrl8|6Y4TtbSs1v45+r=Ob)bk>|y28S$S_?~ge4)#A9v)I}hoC72x{jGEpYVCc@hxi;1} z*Fk2(ig>c^Y@UpmEhwSwJ9^`%(<&5&`rH8YzUFnB{VuWbRX{e-%c|@BK+!wMR5~Gq zgWc9h_*c z?yb4f`Vs+5x{UqBIg;@K1lcS3=;i6{1T&@l4VI`hadflA66aTNALpU8P0y;?$NQ z-2bw^ka#c&Z<-K2`q30&^ZNMbS5r%^_g;3%|BR%)ub;mh)74&@;u9t{RY1}HhxcJu z*ZWyUr}vx(vT8%UNxZyzyf17Hv6CLFpZF3f*=aM8U%PKzC3S$D@W{k$iR;oak%mboZ5rXB- z4S9SE%N{-ciEqGJ<15HdFr^`aS?Hf&!q+ z5Tw#;qy~WcQWT6_3`YZB=Y0mI-Gj9&ATc7?wIq1Af=;p-M%M1-e(<{&)px@At@4D8 zZ<)e6LfK<2r2u@oo`N9TPEdV3+}PY`jm|$aej2mFi*IqOsnU zHrLrcPbl0}L!>WQ7ySiVdU&wBL&h`Bbhf0b=#E8Um0MQjUIqqMDCuj(HTkJ-h3Udgl_chz zO)0U4LFbNcWUj!}fv+p-2W!ZM<>Qmpl`2cd@s`HH!ZeD>7FOKXM^{{3OkF499Dd44 zd^ZxsSg>uI`68E&*KEHwH_?W{2C_LY!bpBZklv5?|=9a1p*m4!mLgDj<4# zWI#;6jPKhr3meDHU%gzzMihl$p$nt&?0t~(3 zunBHX3R?Ij@yKQWQt}f;i4GhWzL(R;j*z?G!J(zFs?dZ>(U!{(9(2`V2`DkR=vWGe zhl?ShmVU)tvMu2+M1scal0ph<9H=vW4s3ZYGCbJHS#GAoI9@0g>jfbS5m&}{e)Sse zXS@3#!^xz)btma}W#-{A*1Wu*UXK`nT&U)W@Owt1(#dcyb9P0J2BfS#_aeWZ(-B%1 z<#+N2X3PB)odPYwo5KQ5{*~BwIqXxLW8f{O;!~0F-HOnLB!isbzhq&@(>vx_+M+BpQ3G7g?(s@a(=Xxtv%%5nX)ye!vOU*}GD%|VH}X~t{^0P3}a z5WSR-M)qTBKb#o}`Mox_?e$xf-6D?4vJo1OccL+U^|3Qs&9qXwsJ@KB5 zOHlHE;&fK&Cl4wLOtf528?nn7RfsUUDCx@U-}%X+L#(5yfq7(Sz_+)^HEorjRe==v zB~}gpb$h6Z$b3tP3hnA`wn;C&9h0lpZ z%02nk-wMKs+mZ#H=@?T{7BMM|iq|1) z;>y=M+vn`MqoQUQc75yHnTppsRc_xN8p5T7v8d|Ey4zvv?KFs9{M?jenW!fIwvk^_ zQg&J}c+g#i#K0id%V?5m=*VaBa&P}al|>l|C^2oVmi!={Bs5qTDz|3#;QQgDmp@mt z6Eq23K8kUj(rc>@4wpAp?Uy&4*H@S9?5^D3ak#%=6Fu9}3PT*~?m_l6!rEG!;qb#f z9mtM$q_kh~#bB()7G+c3)g8m+Z7tvwn=H*~xSQy3Toz2P89`S9MBl$_UhQEqcqC>JKHSkvG zTDOiJ=~w`(#i0rV%XA8cCW#YJQJ4$hJXC7|BlA*H=KOqS<}4f3tl6nd>q-)7b2&** ztEE%5S~6XurO~w-$B%_EBR=Ic?nG4hXf)qw$1t+f(B8X=ybw;L^$%M=gVxKMsBhevIB4S#_1U)*)&o~mmjpz z!6uJ@QyFBLSVCoW`e1BUfT-WhXXiV$Q;Z-5-1Qkf`JDidC>)N0DLMCB;=tq48QU;^ z3^ENcD%#;nDv03PF&g;n(Nx`+^H|8OksYYzvsH3 z1qR>#sC*5_<}2AOXEX^$v~$@v)`=i7SJrDRXZ;h$6U)MlS+vv z%+>}57+Z@{qDdE;0`8dV@|l<{G{Z@GL8hwV)NHWIZ`ZkvY2kvjp5P(lM=PT@68mz3 zc%+?9gU0)PY)lMH)yX_Xew`usJT{XR#6eI5A|A6#(JYvLWGis1cc!Z*GGVqY)E<*r z=AHqS3p2C%@px!h1v{$6JjgAwy&UQGQ~y5N7oq9@v-qnV|;X6 zRF%=gHP3WD7H{ZI^-8Sw%z9;2Crl?elvhSdYO6yMGB5A>coJ#Hnwt?it%Ji(`dC9l z1qt-HiuPwSF%}UmW(3e9ApbC7QS`$h{EBOp+-H|p@7I^Fo%@$+O8mnWRaJgv3%dFq z=a;aWe384>S#?YL?XS(#sonaF&cUQGt0Zh7oED!apa_GrlMbJ)u29@HF2@mTat&fG zB7!C+@h~hsiIG+-NmSst(rBEVBD^L40hoFzrXzbK#yzrGj392$@R?kpTS0w{mbtra z9Gl9vN7l1kK5XV$Cy2r%_G+~yJfRW2hVC5=6>%1vFC-HUl@+Dc#|hKDW;b`w5UU!T zSX1px3K_!gdOTf@kD(&r4@R$p-N;;_$pc?!Gy#Qa8Wl`N=&j+WEDE!^~iuZy-+CT$Be zoC@()6vfWkLoKv?v}4%fhDHiGB?U{tV2M;T8c+V`eO0d_@K5g+3l>1EcCgD#-?@k~W*8aJ+RLl3dlEmWziSm218GGcuP( zx>&fexDj7f>Gm(XT?u(IaTnS0SJtKl;E&9RZyr*FJIC3;lE0p6@q}$bc2cCCT?Ig~ zzK{My*u0_-WM(p=+4bTZq71w42HoJxwCTG9>P*)nnyQdJ7swtRc%L?bVu#P&XYb&F zjt6P$y>^ro>d4~JVX}!Af9zCI548AJiEc)5jt2l>0O;j@CP?#k9EMiEy^66oi3go!-|V=O<@gsm_sjt z1er$IeM`LLw=ZRrjo`>}J85al z$koK-x6Aj*CfB`fS1z*#wwFEQdV5QfMvXS*q{DQ@)g`2QcmU#zEoL7AgR+ov6Rf@z zg*sPBH{3&B1iF^Bu=@;k3Fiq-@7?i0jNM)-Wsm@2>{ib+X2f2l#!_YZu5CKK<$ln1 z>g~bLfQxvX0c*~XdFHB$a*I#!=8vc`n^lHxfoAcDLh^0tycX=*X1>U)NtNz7F2T;L z&ko(|2s>pJmP`_)x@EfU`?%A+GLO|{O1B(GQ1KwhZ$=MN7IbE;w=2X2mRy}f z;irPKJqq49)hm|47kM$W!@Xz?_1?P#oc+@0_n6#QySe{Mlp>^g+WIK3oW>}b^UYaV zju0SrGLa~~w;LkcBPBg9D<_JH*i!!xFQdKJsE)dM1?VElF$iafPv3s=nUen=rte zl@Qm|{!_%Yd6SLL(|@zhEm?&rr00%WBYKQFdl?0*28t`v z%2Gm+QO)WG$>Ow(BISR9=QT!VsvS^H9>rpRoER4CUe3s>FX$$}|AK`j`OPEx%Qh-`_px zcTK~_q1{g)*H^pxG7UjI<&A-zA3*AN=Jn*vY$C{S4kNmg=X`Kt_hWtHIsngzy9$nx z7|urEaI{$X@UffUy zoIlxR1B*b<@W?_PpyPK(EN{5|cTl;xQe!Y6#IsZ2mv8$*K@^q)V(2Y$=mqf8=k1AR zUgh3nTG>;Zh84i^>xKB-qIl}FMVjZY7826SQfbw1A;^u)gq3bRz}o-2p~@2e-Cxw^pSbkOtO z9;vzi)xH?>(V0H#`kIpXv*r9S;xNu1HXnkSdz^6U|E8;XR9N}`-yj?6tLL=k5Tl|P zPcvmdA-#$tIcZ}8Kt8La$DZQnz~l4;^-hAr`noO3L5AahOH@A(Syr?;GAG(u6>>yf zrKB6hd*ZSdp|SnZ7IO!Z3Eb3^RuKO3B(d5e4`mTs9Vc`G z`lHr?Xx9UhYcH$)Jj;V-UZ-S~T9a@xmUdsS&0?MT$;454I?XLbTb3`cn6c$u*Xm)h znaPoC{mg*7JgR9XNz!3Qc@BaH>G{l!Irb@fbPrx5`@e|7My7a~Sf_;-M#^bOIgY{H z=x+bb%TZ*CUX6=agl^SHABPbZ*i&-d6!+Dvf_W3CLxBUYzPiOqz zwcR|cNgN5QXHjFhD$tq|Wl-TBblboEryA{L{)(te)KI6UrSCCVxEE%{cX_a;=kT)n zlvO)8!v$g;&RPzzPe~)9C-^4~z|!p%wcr8zS2+MYj2PmVIJ$1_o?o;g&hsAM`x{Bs z@^LP?g|BHww9qgq|xFx1KYQ&kXK%@Wg4X<2Hm&0I_d)HN)g`sG{|5 zjJ=*mgGJ^!+px_|hd(d(=k{LI3wzi8Btp^EWGhXgwlo{6jUHl60OOjcmC=A~yX93Q zLo+U8e4FMq?NUx7)3b6Vzg09thlP73&zGu#WX0f6Q0^3N5H)TV z?CVSj4|83$95lN*+po`KsEGd*spO%do*NpVJlVc9mIu4NVWmKJK1{DS>W#OSW@eIoV$7Y^<1Q z76&9OUH8zOsI6yo47eaN3 z?pndF&(7nlMu7kT_XwqLZaJ3)j+%v16A)_JYyAMo{|5raOJA7NdZ?g{)CJ!Vu>}-$m(6(^YcBVei{*OO(Uc_Sc zU4rB-1^=PBqQsCk_o_kkbj!>}MxEaCjv8jI?!kqwLB8oC(K*s#2#70sOn{QQmU ziFWUa*{E`24@l9m*H^>w2Qy8IkN(NL4|^bGZ_dQL5ft&dr?5{SnH`(L5(= z#PgOclF=tbs%tkoE3B39)Su;IcxkUMXJ-%9f^n{Vbgw@)wPvMzhsty&)g3s>Oo_43 z$Q|a$=y^2Duk!TeEf71F>$9(ep1XB}aRB4)r9h#) z7C4=77{YhKhusWu%{6-!RZeXvw%9mtsGl5O$yWQ`(!8|&sa3|Jww(7SZoSC3D?ml; zQ7i)@#fh4+_0sHP8fDsZ@&oREJ9ccy$M4=fT`g8)9~sH!<6j$;5#(dY;LwUGHQf&) zI%`q6M`<~B=J9NDxI-i76k)2ZFE2eTzp+niKsh#xfEFe3guU{H{%2ez_rn}V<|}ip z&CKO)D+ZoHnY?ICTYRk{jJ&Lit!WAReqwU_cxfn3^3A=1S%*P-4*n0xk8|(1!(&F@ zHwfrIM0r#jN14&*yf!6TmY_Y>^ihhhojx4dc~qzH5=u9#vyGhmgK^rNXZbBV%({{n zKQn6#;SbH8Y(aJRyFWPbcu=qSnvZUp;IR7CxSVZQvh~lx5KEIF3h!}V7bH47`{=$f z@SywQQ`P2jasrNL7>K=Rs4}!jSnr<9i4SPXkLFvR?x84^3dK2>< z2~-(T)rT6C1jJeLJ(fUqVL%kD1mX(#|G7UiZ^F+kgdTlisvN`JZ1~vfw@-f-(FGeg ztA<9>u*62~MT1?};Rw$?G9f#&G5qv?6HchlGW-#jdS(-AM+bz-eYRn|SjHfGpGuyB zwX!GyIEsG?g{k=RQxlGpSpUrY((QQ6W37c{aP z$Cwj>X09a;To2D1|NW|j#{~F?oA9r!;|Fdz+u&@;d;96d<@q|irlxpdpHaNBo2xK} zLc=8+`wwN0`NBW44dXA>Wlq8Fo@GpLoy{q%F2wPc#e5gikLGWvXU9c0hXsuPkvg=Q zZYyYuvG{cBZmbFDPaw6>mU~%H&tVhBp7<%g>2@mmjOgtSNMbBLEg#`WU zvU^F2*M~UlrX?S)3a@r1+`HOsNR_aW!!ly&JEwkNw)|Y&r6zA>@xX9RZfMZ(1E;d- z$@X$no+9ZHd(?!1R31kQa@R)f>T(NHiRofuxZe!k?N%(0u&28^Yv}XA;nYZbxfMj) z=ne3tW`bmG@`5fqY8?DEVwMoo@%B9+abpoHjSpB^d0?<6HzZ{EiF3umL`Q`+MA7Jb zsp2cm1FgU}AZiDFBUEC#gc!7{+jIHg_2a!PRffZ(xOD!~jWm@=)4>v<$}V_co$&8H zwL1_kZm7-(tI&^bWEgxMY??WExqL(K{c4zgoI6aOs2l@6O-%2Y zxQ&^{Uy1|l4Y168>ejeG3cb_PCkIKR9Gz9+hu=jSAmu_HVn}(cEH7pj)D)UPGIzZdp$vBxJ6fG@Q%*un zR-bT~A(|6N$+m48FM-JEYCNYHJm42-`N7fhPN@y;NH@7VDvJBdP$|tKeRUvIUalz@ zUE!M!pU%-kIVR(4YgbD9hpY2s6;k@5Iz|Up&WGA> z`C;Dkmr|&v{$S~D;jsy~vx|AlBph-+jWA7t3F{|K^h&ed2XmUs(=O_Mx!}@ZKiP_Q z#!pJR-F7dqKZ1w-ghd5({+59K>*wEqDbHmDVAoLs{=2{DH|Pq4MA?&k;n!~QdzF7n z4cA(=%3V>=e!0_EEkXDVMFDWdx3q{64v$dfWqc+K~oC3d?#;Yvd5mn&J6Zs zx1tP7yNtBhe=YJLll2^e+cUkC1tQtO(x_hX`(0Aj6(<4 zY}PQzv2pKWoUa=xtLd1hOcMBVz}uh2i(YB0ZK_NvZY%2Tr<-p_<^e|B;hvYa8RQf0b5Ne9cRvZdGx&Zq>y%4trVD>7y0fAH|TfA>cku z>!GMnPtO$&%*?ve4J;jV(6?h_D;pd4@)gc&Dw?fBPo~a9-R=<82)&{qyj#@l@p};J z4MW@%ugGU^tvo(9tu@&4LHG$;%zd1J2_o&=q6zJgL81e5X&X}im6v{HYvR(wJ*AR7 zQp%S3N`-slyyUDs&JkG*L{0;F)}k?tq-0xER^^UNc|9UMXfXSf2TniDXL*gR&L0m$yOs+KN%2Ij}s4r^#P z1F$Rf&ZD9c&mdRv{p#AS0HI}3d2w;VgOFk?n?j$Vw8_i?7v2-KQL)XnrF|a4M~gy| zGs@ZC{)$G8jH3F2cw3H@mLuiXAW=_*6F+O>PCgM4=ne~RO7<_?9_h}qli%g9RjO8I zGBLblJeuzIE~5Dvtinujbc!21AflgMsV+6;DO3BZY+W1jE6BZ>qHl9+@cYP;5L`uf zpBumm>f^@>oVMZkSADT#bdnji3Rp%Ju=VFxo=VHt+6x1c#>S5 zToL1W{FPa{ylqnM-gMc&RoK8NY{E-ad^MWe8^A2rZ&NtROBvFANwg5#JW^j@csQxy@Nf~L~xq183`9K*& z;rSr?Yw5tLIe+sPRFmfy{H4eIISTy>f&R|#t^?Tu8HTisz0}{ypYV3MlTetvWUp}y zx2Efybrm`nov>jqNm-?H3e>%-=yS-XzxjD$MXu(GOkCv;3JTbfSuB}UsoB)(u3&|xea#Qvz^yU)D@TSwC0J*R^0eay-?oKdYmohp|k>mPKgl^&^me| z*cC&jknvP%3YJ18P>B>D0QI(r7~o_C^GH|gczLP}ugpi}#SKKqxn+Wv4LPHvY1wjq z99Zcm1E<033JUggl;eKTb8ZdwKHVLfTBHA>D7y(YP?GCc>DO?BMA&LsX=cpVV1o!= z4V=#VB=iwf(K=5_brzL3vx0r5aSrFGG{1i0 za;uq6COjJ~ye~ViV7tll;b%uy+xsK(|J$o6Q<#c+Xd=A+xj+%8al*Qg$gKvF06?;x z``Y-x0#lV%TT_*n(;SuVDZ52l$|5V579H6G5{x!m)~FRf=LzX8C=P_=oJ8KTs)hnG~=p+1t?!RGTV z0=>0=BJZY_ZMN*69A!zfcb$}dgcqNRJKK=GS`PF07D2W? zklf)M*NkRx%GXHop&t*Yc$k-Ixw+LU3be+Ol;hpYh7Bx4(#g?k%Wf1CmMjS+tw>oQ z2G^zmZWcjxSORkFm$^{e0lau8wN>e8`pyv_B|G=b-T(S-$uDzG^h&U+4$KJ&rsv%5{K^tv*4+(ZJx(4Zu@;B)gp?R5-?o7+kie5wzB7#by*+w**Q&>TF7F~ftQXBR%wWDy^?9x zbM>dtFN;l?D!OA|d|`O)o_z7dI@Cm+ns{Mxl?rWwq{60i^kh4q=8>)Zx_)Ct#;IA4 z#$J)gmP%9X(Zw!Dm@{uj8SaY6kK&mR@z1q4v~1=cdT;2^YV2 z#9>mOZnAa;#n;0plltaDB{3kaz}N%u;S`!}5A9fa zZOa-YO6X=t=U=$sS)q?4$Qi)Q+D|#P%)}g7Y}Nb<%1tAvXG8m*3NTn-8y4w&%MF|} z3GvQT6P<x?>=fLm2OKv zwlX~5z=LxpLEZ&wqKlY0c%M7l%U(PE0h`&7{ykxHne!ECo^vD_w8{-zC z7479M@CmtUYRxC|1CdeH4H3`)dIB%g^~aAH(gYJ{)~P6)lTV9^E5b=+Vk=C z&5a8!kpm4gC~f`etzwJ6ea&;P-YjL}R^|N3OVk6`>Lz&38)ZqIrsC-z*YXOHr04R% zS>@2bf60{^)_kFHne)zwQ4`^b9_L=jt4h_F8b~8AZ9e_Kv~hq+Cn`ghZ4myGqM@C? z^#X%Twn2F@R;}JHxG096(m8k=fk-0E@e%^vy&N6wrXxPpq>KKy$_pUIBqpWcJ*UNv zq%Y4}ve2LB`4~yjNs0e)&!CUQrH-3OUTW!<+K;5>Un0oR)3QBy2jmXJ{uF!6xFQi0 zIHjwB^-sVP@voY)aj5;$RRX>5hPp$9AI}u>{$sYpAc`g1g}cr^wpu7uZS(5K5ZsB{ z@S0_v4r<0bQW{K>qep1v5(TfZb6AbANqK-eR1$!YfpvR8*=3nws>MM?aD5OCWRuYm zR|IAdm;#brFw40dPhJ6rO+EzEqZJ0vevhnoZYs2;VbzYMi!s!Y-f_rx+IZ8*>$`h#Ma1J!u2k_Md^ z9NOc_5Pl%W>s&Ns^_mzAi>lMc`OSuO%kpXZbUl$?e}CyR6HX1{&bZh3i=JQCN&3145SdD`>qqPtZuh{VS>&JTcQx7ehAiFqGgZFevd@{;6*avduB}^d~ z!mV^`3c}^SOM+zY8$&E z7S`6voP%8K{cO)=p42h(z%s3ER5@Vkpt2jDmct|^AL`TE*l-!AS_@E)zt&ACYjxKSB(9dc#C<|F4#=an{%s&%IqtG|t#>4GoXq@I(_h zscRP4j4iM5SpLofZ$5Inf&M11)P0dU6RUF}$SN$jA0cx1RnzvsWOf!baSNM%&pSZq zp^AXZyG^%ul?73C|EJ33ZfXnHG*ji?T3Sh2fvL#BX+LQHyTK>WN#h+Ta?eKKUF?*> zlJW(H61QU3OOfqYh<32VWlo9b-fzwpmmc`{f3sUzCl5a%CJ@js;BPa983%I<8F}nf zIkC{tU=2}hsIBV0K&#~5pHqV+(+fZzs+e7acfz%)6cHtXrV56AP1DLNGcexi&E0VG z%F`vPUhzle#1cK#dKc4f|1hPoA`$t;^K8Te^`I^?#a6SUTwk|y6+TMpV+5pfdkS}4 zpBR3wvzCpmPPFMRR=GS7wxdM<_F7#W*J{g?D*AURm@RI*qiUFoYRLf?0aX$WbxC?W zGEy;9gd8eze^h{3Xi;LQwGy3{@gOk|QQsZ5zoAKDX z#D#2Ms^d3XC!}tjo7l-!|J%@+LX^7eqExtJkm?Pqf2N!22&offy<>{e3tcM0ESI?9 zjjvLn)u=C^CE~Cz%lPV15O*E*B#8f_?VRL7cVM`0jXg1%XxTrjzxB~O&P3~ z0&?s1E!qY1ZV^3dCNQ#u&maXbc<19W4T1%)E&xC1rj=N&Ye9&KG$V(kJoq`l++9N9 zpV>m0?U;=mc-@t7U1Q|5(U7!u9vZMmj(N}%mcOs49w@SpM>8?xh-i%M*^lf=gx%{T zFIk6z&JF^-O3IVR{l_824-i^zd>{?d5N?Npl|nwT$XDP|6RKcF=>NL@e5!4}zOASf ziC5*o0xB4fHGD}*UkzL7MMT!;G2!mj(mH(gJn})Wjh?VZ(8a$PWMU*4@}gf?rtbwc z|6~(DktNTYUBu4KwS>rAkCSVRTgtz4UD?|qZL)ia!DNC_`183tNy24k{TjKI){g6cAk$Vo9*<}FBfrhFq#)egE80I5{qj`pWOF1Z^m}k*jX6e zE|HD(j~QgA{yTPHLG0%3UQI53y)RDYUwr=2#|O(~9qP_5Ie+J*=+W=So?D|xUy5SA zTb-b|W@Id5e(hUJTy|09sUcQA>*-2NVeSb~aL*E;FC8b^y(5xe+)}gwJ9mXu72bRn zqKQlV13*47S0m*mDZT|&uli8>MD_xa7I6-1*s!&KJss1DCo;^{MJv=jNfLSBqSIt}hh=P7I z(c(WSO0ib_6jtG0emI(RqHZ?oVGQ+h*NMW$Q15*I&Yd+!CBw{o2H=-i1E4!?6W$` zNO^4&KdR!q9A{m*x1L^9mSe?Tkad9T}lVXi0!kk@*gu z$_b3(MJF+v$cP*#MH;i>w^n^qu~#LyF%d7+WFTje1ul#hdD`IEB@Hs~3M(oLjJZqW z{x6cf4vt6dMHubtuPMY%gS9#3_BYrMMWZ4`H=W3t|=9~pzV z87w&u_y30*4e(>2H{PfW@hM2=UXn6N;-@YQHPM_ats6@Dn+wg{IH((-<>Tke!h-)t zKaS>0?;P#b5poW7NqC82oN4VZOdB!XmKRUd>8eYptw_&^Q=R72gbOZhy~r$~@gpC% zSW*m%lKNi@apaq2&0Dw#!kVmDdc1*O?dM}wMYQNpm~d;ai1|aPHRx%-533y8FxcFl zOO5T>{gkI&05C3liBC;}=WRC)=~kct01_iz1TI75$_!-Cq5E8KINu&OIEbBHt_zd8 z8H;U5T*&nOzxH0|fSBGd=-J;IX!Gg7a;ntd_TDrb6PESP(a(>PQcFS%NuI)8hTsuI z%!*_Iw!Hbk<>vY~`51V3W{`q&cZE{U8sGb)_WpkQc51=>gZks&Vk zEt0R=`=xSmKXtofl(6e8(e5!WdfO%M9jM9QB9dGxis-*_XLukc6vR)4IB_CdQ=)sH zN<8EVHG+e1V3GbZ*>DzC$sZAG*VZ_lO>WFavPy7Cq37B+oV`|w8Q|uoc2@m{QOD_> zs>v;j4DGzxu0&;7Y=~`pQkWSO`1!ekgy~O`SoLweJl`g8y6DB<}f2 zTtr1L<(2^ayE*Rq`SITAWXF&8i+*nc^l0ZSSBqZT-)CA!Ni2}`d;@1ObX&bkXP((^+$0NStOnHiiM6IB9cJYUOji;nYidlVy^D$Nx3e*1J7^XRx!hSWNc! z;!k8M<4(SjuQ40+k4P^xw@B1!TVnAYuNId~(i&&pi1d9pJpOL}Ut-wuk6(zHwmnn% zEszs$u?X_87`}hEIldQH+nb)W{W(lP{o35^8G80;X~wtA6iKGD_h@^JEKYTQG3SGn zn|OGDelmHsmpEP#ujW4CUUaXed=G%yi?bxfqP7LKoc5uM-=T%}|vpqwG9kEa* z>MXTlD%zCN9*rxRIp{z#7{P_LI-6XaE|V$9$_3Y^k9>4{hS@wETck|4G$5FGsBDwO z{17!X+`p8UO!N{-xApov4D94F4DXLB%9rF}>T+$JidUAVz<<_OTYdFtVX0@VDF22g zFO8(%h8hgdNiwyl7>F1!R3DlnEDTO%C7%4dNuA(V%zkU?<%IW@niSOw=;?bSo7qvs z97)!(@krajc#HSid65)?>sII1gOyPp+Gb#GVF=Wb6L|P(yxk`m?D;@mEJ$%GR{sSt zbxxUP1Z|>7k{(12hU6yUa1{d~LxyTYbA+YAnXJS+$%TmmbV5+329f%f!W!}mr+rv! zp{09)mnnVZqsOt>`r*_<&r(Z;DR&V-d#QANK35S{IeJT?8>9D zxuMaP67>t8A2-w|Kf7*N+z5whEwXaec~zy4d~iFK*ghPa?Oo|CSLe|O9k0bKeqkME zVKsuII#1pUW#>1^Yd?8pT~wDrB8xH$!F9^e1r-6*$ET~4gX1kFygG2?GH0(cW zaj>>6Gs4B4Ya`}p*7f(d z$KT!`Z8T{}4zE5gBoL3M85SRYVD~a2hZVdgQ3Ncc{i=w=)3pJsqD+WQH?Y>!~a}IkH{I}EJYdt*=_78dKi~QI0 z1SPDUeC;ZE|9fOjJvuSEpc`6qi7$dO=b-WYrB6EE48k;!(;w;{9pglzQij8Hh8$zZ`;F*d-NhD zDctO}9zlt%N_z{HwBCjItec#uZSh*LYOjOtJUcuBYLmfroJB1*)ouNEp?)w^F3I){ zLXr~hpt9HH$Z(kQ9{2|gaIcsc4NQbA2#Otf7r|3nrWc0Lyovr;Z{Oer^^o{?8#3R8 z?P?F{MW&&}vT9iYx?SmaZoH9C_v4K6;uMZJdlM0X^^;0r3Os+ba+b$I%qXAYc+rvd z-5s&&#EFGhMY-z{ej=@sn7`}|o>mB$`YMCRgGGcWKJ20G?IeaMISx(Zk${h+zC8U| zVJz^StOy-U^235xQGJ94k{d zt9ALx+;CW-2ucpGf(El0kisZZ+9t?POPmHA&fh!ghEO0|dqr!h#`zSx$OVZ_j7@%XNTo1PCbGE_|Js0sXXiEYErXz`=bVujI4z4Q(! zXe8R0k zsR3*~c6VpP-@`)8*A3pb!Tk~K1MJ=n|Kc6QJpU+J&M+^W=>-&6NY((>o1B^5CN3mS|@VhFJ;-x>m73aL&?ekk7{#b ztj%%7hca0_29H7<%DP}WsSZrGan@4FcE%mjNS_&n7j%f`O z?wZ-L8q7HkXQ9q-YMEy}UgO-51!q)~BG*ljylW+1hBVWMyK1Y_>u5eV8?J=d1Cu>i zD^fh$(7UWvcI5L4{XY&)zT(s0uEu;BQLbBQp%ethPr8+-u>M5iRo&{Udz5v1b=&&= zuN0OGUuqktvf;=E3~={tli=LcT1xsHj=(wgzd#!t7sQzpqNQX5mD<^@lu~MsF)bY5 z#TCSW+oL*m+i3eDszjhFBiK~>@R3Ix0+;1U|GBNh2UR{ULZ$5_K6_YjsB$ZW&NEC zk){T#j(aM&6<1J$a@(3wN5V#>C$Txfv|4X0OebfH9^EFgpT;%d|9VqKrE(phXR`k&Ap3pb$kUL$#{n^&av@%9bI?5$YCbM z5(&;i&P>9W$WO8p>?2o>i6+ew4ZEG-z-R64<+3lhCKD&o3OfvFL3h>_2BYlmME9PF zUCjIVpS8505y09sqKO_cXsVdI;~ek5B&Wch;pptK-Pp>nu%|tc4cjf_j+jiQ~bH-|5+ctuuu?sX{+7# zpm8)VZOqO4i0F^%b7BkV#H%A^UeO(0hPI8pv_RcyTz2DXG!Ihw8k)ic+Ax))N}Qfg zT}xy2FXHF{>QnOQv846x!*O$V2;6jxz`4YYJL6e9qlH!T+3(Vxr&VkA!tv2~SHP{R zmP+-^y@^V05Sn|bGq|POxhd-{viE1lfY}vUSW$FudNfUqvF9kwO-(AztPVwXkL3g;R4O zEusV3Ht{}XTR^lK8yuz(dSe4&3R4vI!TL~rs6MGAQg_%19xQ*};Q81|xA3~N6Gmvs6aZB3GUGGksl6H)UZ8iY4ohBI@>b0G=8ymF7 zj`PNb=e3=ivmvmwIC zRvx|{`#0e1^I+Sj{u%g}Ucvz;KcD^plG^}GAo=gzY3cV%{4)Sfmi657Ngj|TFYA~0 z`WQKt2iMtq>ily=M*+S#6mtRDWaHR4H2z>OMREiKn!A8d2a*+tVaDZ|1s?ZOb#S74W9!F>3NX7SiUs9iYN$8qmZ>O- z0NX4OLTeT^mv0W0SrNI`AhcV#gaI*bXI8-e2?!YV3i6e^?w3YO z=Y4T*@ZqJ0t)-Su6#L8J_(b24SF6LBcY#PTrxR9S%}|!hU<+FItEnvG?OmHPn{n)K z^-EFD|HHBU=JF8%6l# zH-f-dCU!GjdEx%U)9_xvcqU~Tsm^O~P6-n2=7Qz~EWWYyt=Stl>uXoQ`JwEkPTWC| z1=QY5ev<6n5T}o@K8nx#k>4=$5MKu}8QO$YBxye|d<|m;;y6~Um_ykdj&-F#0psP_ z@)U>+P&9I`E=;HZoC`Xmhlr6BU+tXe+IYpVso^r+7h73(yKP;D@6*UUr38tel)sr- z&Z+T*n{c7`g>#mfKKND&5 z$xZNtb<#UF2F-wdX)(CM6OVA5TrD`O2_p`-1l-K_J=hOr(Dm|xf2;O(+e{pDt=`?c zI1xL1B~O&rX8N|wK6Ihx8d$+6BFwkpJFj}Ng65T28)sOeJq9nlerF2CWv2yhv?g{er=Q2uc_c(^5djqU=_-p$5d&-eyhj|NV~b7yHx= z3@ZZ%O{VxdJPW2KyFeJY+>nK80JZYxtr)CqxzR6}fGf*p% znoSV{NHp(l7UqKHn#Ved=2440i#(=gLt+dd_4D4w9h&mRYX!A%<>r0EL}q^t45>DC zcvN`{M^9X2v~@I9*+}mdFRYf)>+R=2G9^0eNb=Jbhg^Mf&Yi_r`t{rW zhZR8pyuO3%Wl=soazjW(v6A1aYN&GHRdiiEJ)R1ci12xNM>eCU-a&$~&xoj;BhxBX z$#gXoCJ!uQov<)dl%7vS@b--lv(>^wK219VA3d@~aldiGeGNsa`FLSZ-qO~fD02eJ zz{7W_WKYDME_{0AWxkT)OLC*A52qQp^7e`CJy%ttN0hzyOPG1TvDkh#GOr(t7Z?4U z_QA%C?JW)WF;bih)Lj#1J%|p(>fUwX*e@ZYI*=}vT^=nS9)0bElJ5u_we^+RCuJ1% zC&3wkeZHzWcl?(2YGunuBh7?;xV8RERyI36s#9NW8Pxdd+vMsUc0zR-f|&r`Vxyz3;jX~wnTX5^<8zy3o3jwAvwb!1$uT% zoG*623H|Hf0`xrqa@+dvXoYlNk{&pf@v4hBoe-moxEbTJo4guboq--vL^{u)h{;wX zB68ow!T=b(2V^xDU8-knB#f4P>~Q8jhdRH$q|gFWZ&7~>W3gy?+myD@Y_8aSW@2Xn z6E#Kf6;td3VgFL*CdR+R2muO$`tOuz_q*Rc0e-22%Y&I^1Te(I{zo<~R=*TkL=rmi zTBLcK$ZRE=$>)`7ZdWUKbqk8J>`X~yNJCf_;XFC>o=MD>;mIL0&KFC#abSkfoeAjs z-Sjia*4D69Gbhj721m1aA`1obdJQ}aL}-H`lyV+Vkr=)EB-dOPjG`&Yy!a|0FnQ3g z4*)rrg^uxIt$B?(g_cTjBaj3nj@NK)2z=QRHW;X0yQ8QXy;eXFL$gzxDAmGB1TTgp z&ydpQ(r8uGp~|C1hmM^YW9N98MnVPERTV>y-Kk4V^i1N?CsFMg_EPp@M%G)H?+#l$ zonpXyc;G!cnz22DgrFg-R2}Uc+cwk-Ekm`Vl?%@kHOUegVl7}lQf9tGF~|~qR@PjW zK#3WEfF$cW&%GYA3IjS;lyRz<7Duul=n|YrITD9EMF z*g0nRKEVt@KH`)qFbeyP9qn}~;=EjZFW3k8%(&PDvI}x@K*mtOu7T6Zr2$#74=l_< zltGl}*2D;6GtN1nV5KAN1v(q=LbGW7qY;4U*+Epyi7vhz@QAwaf7RHZKr|_VR*LHE zh-tU+Y!ez$7eI}+@57_d(FfoMFrEMHvR7K+n^9sDHkEUtRK@&9qwLnXA^6Hl{=mqYP{xSY@{C)g`fAs(2 zKfLHebyTj3-CyYc2bWtO;sO`=ef(qm>;1$1ALifGJx1k8rTF~s_lfG~XvGCn8o;8Y zT@fBE9|58Um2W+6!8KNeMnEqLhy$w_EK$SJ2U`w$oAc)*M?HX@wFAn9AyT#N0L~M# zV4$kzpRkH5$PvOki7}-{90p*@Mt?S1ExlC8lJ$yL2BKQ5rIm`Tmoz+licRA;G?ATN zS-WEi>E1LxC8s3?0ZU3yqA_qFWRDNo452C+c_ZlLpa16%!WNawxi@bdIvJzi4Im3S z(?tH#Kv2norRApFaIYcw`hbs=psA59WG5q7$WG}}iDZ%4ZB+D+t8WG_;1J{a!o&gP&2Du*g~j7?MM+$%vflln?jD%knFPc)eM;g zkYQhu4cK!VmEJaGFqale`F9jqY-#%fE}Rf+E-V`MBDe3zZLkab!$e4A923E&n)Nae zZ`Q(7TH-wqc$NLtE383}jyhoT0VJSWR`@sK?fNzj$Hf(~*U}eV;GBJj$05Qu(faG! z&8_RjTzGi{7I-0C-p&_``FGGw8Ef3`hMOU>O1b|LUk!p@|S4Q z(cRzkSb&SykGK%}zOw{xEQSJj5td@Li=OcG(QT_vSBYg-E@M58w0Xa8mHyeqtQ*;d zc2rA1s!mpo{4q@t^uS3Ugs8u_D&8A^8lt6e46yHc$@57gBTfQ-Y%f} zc*L4hBgAo+qaOS;LQ}uAS{;b5D@TZU{~mZJVZgp%aTxG$WJ|_ZSfeJ|uKGlb=mI+K zDjDv&;ZpYZ{ex%I?N-jNj_Bjw{gzF2W(*NEaw2oJY29(;V{fP93TlSN@jhlVxFTkT*XxWtycxfe$q%m%OCS<7!amf>=WOkZEm3}0TFH#Z^- zqpw~Oine(7`^DEj&RRbHSfWiQ>R7BdPw`XDBx14b7Rt>5&@EJ~a$X}8e24_dj_S=G zKh|UD?c2&poKNj!*g4Y}0owF1n7F5jD;PyFox;JFGHxiv%(93 zKK9w)b1tlcsDK*9p?z-n_BMb?n%&J6B-ThhO?nm!2*>nKqcu`QV(TNd*$`)|zpw*a z0M&{g*D!%4m3+qqwNQJ7H7W%LU{nKuK?T*~n6ZLG)<=(rqIii3wcyXac&&z2_7SXq-o+(JqV%0T=Qt4I_-+&!;(pJ*dL!so-8f z@vr^f7zuJA_wwufkNFQ(NXZRwJ>gyOU;8GL3F2fGXA;)`WIpMt@mS^KvoloA<>CiQ z7u}uq(9fT8;3Q%(Ge`!JEC{1do*=qU5b&NE?Flhm1}AIrNHRF@3+&e>6i4r~Lwd8WH&^(lX zVA@McR8yqQX_OBwD$Jab@s93Edf@5`IXuMo?2amNZwR$dXpyZu&T`D?VH1*GeuU(( z><4w}fCH|E0KbFCYRq(qTHG*T^J@tS4ukfIX zr`@gTw>MCQhBS0e80b?h@|}Zh^FsWWTGjB{e+v(ksssKprVaMzUH_i{FIB@_W^m**)#L4k5oudob&&t} zF6R4X6T9;+rsU#c>0M!Ug$sGGuP8cJRv~2j(Nsfs1r^qwD?tW103ZZ;#w0wJ zF_vE0WO`8%p2aW}jYH5QDpd*?(M$;?Xx<6v))b+>`7dj22vjL24}gr4Mogq$c9swP zi4aN7DX6>56%BU2W&ZQO7k~+?2y1JxHjFKgjfM!X!PLnL?>T3%mDwO?XtX(-nnSxC zxSp7emce-JBkqnk3~9{(u+Z^d*QU;T-8u2M z)BC>P&_`V!TWyM6Zxzxa=?)uJDm9u>fOtT59AkPY+XCTJ@VUYg(q27v8m3cl%NS+} zMA{wjyp7kXo(V+hvn&cb(4<7!UOop0cn(zv%)Pj*`VX>c%-z^|@}zU(*Nx51m$vi9 zk6ZFuP+{KPH90kBdP~>$y+f#LJ2nIj(J)1QQ*7JwW?+*NC#|XwRgtk2viR7 zb__<2$*~Ee#16;@aa9GBq4~J(Z7hJ)5D%*|D!4_0-00NMJr!Epp%)2i=1b->N~ar{ ziR@sCiwFw#w0v3d?BI?4jzsnR*^Ww7@bGY^^|PXdOD0Gh+^l*HsppQlT)p9wcU`DZ zyR6Ve%p@na#JV5MKgRQ8LY@PzZLy#hWjOR5%;vz0z6#2Wgg~53+rulCMLxq?bLX&% zINgP)%|?%Hgs>(|+A?MNqnS&`tQX8Ot-y}0CS&a?SbrMT7>!x+3Pl=X|9(YYK4RK4 zi(Jgei4c%t3S)+$bB3igm%i|oaEmHoDWDy3%Eu@S(BFh`D9|+&< zk|(v69F5QYxfpzrPnweK-bt`xW&kEQ2WGGK=Zx?&560OgaLCBWlZpano6F4BQ`>r# zafJ=sFn`HL?z-!vi3M;yLD4H8`{XAB*Jhno;iT0?2xmu`m;)AnsGXV+7K-QC-cnyEz=~l)=E9n5)+Wk$-Gl5R8Y+Yv zNF{pH9ZL>wy77C!+Bc9y{W40DMZ7BZyEV5CZW1RymM|gKdtdx$2%sJ>&TWCyFViRK zvBIoewwHO5?17=Pn{KCp%F}ptQP;T$kb;taq)uo|$U-2n8giXsH#ZfdzjRcftfWvV zQ|{BhL3?lzUcLje8j+s(Aa%kSYFcz|Q**@2EGb4`UGG1y7TUPExdZKq zi*$6APl)o<$kJP=5R;Yb^t&Q_Y>p=>-QqW#j}}OSAE)(Eqtb%mSQ{6BVyWXZB=H78 zn5F3tm@(21$wAdbtdMLgH&>lv=IG$BgpWBq+b=;Wg%|u z?ak}Uo=-AHIljiY!bpeSNI98(eE^N{82rm|>W{SdfS)L^{NG_Q7N`XmFJ$Qwre1V} z6yvO$9gL0I#5)^uJ)6{#5GR zVD@Mn_#IxIe7I}X>K?G}h7Y;CZv&7%l9TjuqAqwm?8@6M?;*1l^^2a2T zI2HSiOeCk^wfA@r2Z|OraQl#G>@x^{J~J>B<)1?1d0BQYZn`1{TnBt8A$fmh`6y_C zA&biHOBiwgCC(6Iiu~E#%c%VTiTEkNZRNQ1%*Qj{qfMjvUcK-bUS-(Ky&32IZg3Y* z=|Acj?*F7N(wZ31R;>99vu|>_XHg(VnhN#sS6aenuU6Vz_JY%j`oN0crP6K}?mkM# zL=`1$WVUrqIIf8Z+Ix8cOOa|0C%!}UphR*PwU5T~7YK;A7v_Gu2=OBvn^8hU35(d5cA$=`9U<*%_q zM$0c8|5sk1K@Jbz6k3t*^79p(&=8tp4Z~bHe+pVBveB468q}f{LMbe8=(~V&@a#TL zImdt-l%Ns^^Y1JL%nElT$FuhRigw7o#w(bKjP~;3J5k?}=?6-Af8g*``zSPH%_qz0 zZ{Ud=H9co0OLzvH9s-3e4)4~=SWl=3)B(>761&v6SXj$?qDlz#q>uTkopx#}=qm7336^Dsc{zkVi?*h9(P#QEg1%4t5jWK6svM&|Aov+PslOa9WW}R ziv+P=m$-XA6t#`5Is#Ldxzk9Okr_4R0{V#X>3=aq(P#;_z%{$onn_05d#Q%|%SxAN zkt(Pkd3ILYxPk;v>@lrr502Gh)`t>O27zt1y=ny08m$**_qrE3fE8b!Y#rOPMJL@y zoHf!Z()$K!G~}jyy8OT^uMpQww}bn|ZO|n++q?c`b(M18c)I*cl8KjILD1#?%rpL_ z+vf5X#bmXv@K$2RnYk)$0-1q9pF<}ODSd&bH(!Dv$IBO{2Z+Ty{}byMftT>6_&jAg zqQZu#m3sj=twjvD<1Qdx?P(Mv-k}&_R<(s1Mt(^N@m+uV3q6Upd-NyN6VD4ucinO2 z{{6JiQiy!taG~et*n94v-op}07f!Mr0FM(}bvX^v!C?O?Up|jA<#0aRH(LWSd9IHM zNjAj}xx65e_QP*VbbN*P1y-*J#grTe2h{x0kPgO*Q}oe^qSOsvqY}2%jIAR0*BVQu zi(SY??&CPUWaArr1)T>rFwDRuyQOlBM*kODiQOvO` z$Q;ooG5N)6A>ZcSxrbIEuiNny+$x%KtO90_;9Q&5u%{!n+e8p z8!QwFk>1VnqNGGEya~C8)wF{&cIQS@%$T}5mICxkh)^m0+35~C&U8qC7xwB(xG7Hx z?u&7dp??RXXH_Eg$R2L!L?9_7qV-8S2?~a_m%{QW+F6Do0RtL7#J1<{5HtFsR76@1 zw$YPBvGuwf6WdsYCL4gB0*jP)*F~X~OpD~@c?+{%ZGy~gf!t^bpkO$Y+y?M;H$4EC zp7wI#7o0N11WiniqJ5-x{^^g|vcy;W>95E_4)i6Slnd?Q(Ucp=8qQ^~a>ZEEf~TmB z013Zns-@P`eG1nIUEz3KWoiWm*Y2?wt5a-zJxOeTzjAvuy#(ak)?=PIVfT!euQ~^O z`vkmwh}G^wrUyc!QZ|G|Z1=kB{+ou5`h5N_sI8QK>@N88`m)F%-~E-qf4O}0Xxo3z zrdHl{G?rOp#u}W>Tt@;Xnpy5xUt}zx!Op9Z_hoND8uUD!czkfT#(3XM@ny;x#y z+AeB1R_96NLc!lKEK%8HQ0eG#B%=fZh^DGDW`WlWn@brsUs{JvO(C0S6V=K7P_+4x zmagCHl4XK?^_Z8|mU#rXmk$oM4uihz2*?yxdh}j9UY}Oaj{5qzfp4`fa)z{GRmtZ% z(bHhys{FTRtUO(QuzIU{%lqr?ltwnT-S98TcIjv9akF}zy5=nRql^7XN5GElDz(|7`NVLV-G7?hh+oz8238f;-TXtrA}kJ- z_`PRc6>^oLJhqjLtY&^xm(Yox_!XOm*_^n`Pp&f25}?Ny;Kt3|3bCwJG=6rp+S;=f z8F$<)9mm7sYOM()yV{Rxv|nF|JNI25gb>!&+tBu2Tps*0>OtOh@XhU|{iVS}8ryuq z)#OYv&Z83I3+*rvd5Np8zPVFYbQ}l|O~?}6*i`cD?F_(DI#h&Uetb}5 z{0Fb4vpHPuLG$|j&4>xxInrc}h9n$CgBS20!QHSG5+PbZd-*%k%ZpKeC_OfMi@t+h zf3+3X=nHNS_}54n6L3HFRh4Y{R6sW#UcOj&#*&Ru9(}+Qh#7?ruU_pvFxbxDbV+(=J2{D)JC8Fv-2@E=#?_{GxG8?4qHTnVu+{` zi~VM?YY-S;-rItG>~HdR$`jnf%6vLTI&Aces!3KuCC7$l=4>>B4S1o&g5M~x3L0s0 z)0&dmiC~jq8!Gc9$&qYSS~B4&f_X89<<-G^#YJLMG;Pkito&ij>=dl!XMV_*livm zM<2q$f9D8imUmoaA(^H=hd*kMkYUMedA)B?10VHT!>IRz`&TVFf(Mt(E~y%Qj}iy8 za$D=DRkNbU@XIyCz~}ppylf%#k+YF&rW-~n!$|#&8qAh7^DJ))RBU>x(k&_g`{a-j znc4l(m&M|Vd!rj(xgYekI$5q1+9!PdAQ1LS7`PI>K`RHd0Sx@u=O~L)OqNDuok}ej zPYMz7g^s{Nzw9_#al%vu(A)6954%>55{kr#Gc?DZhY(f>{e`s~aOD@3T3MUP3Te7+ z8!gOIps38`T_Iz)Q$4=lG9GS&UNZI#y$547C+X{CEh|y^j~uE2Df9Ly}Z}8?2HgB)atFM zda*D9V2Yfosg)zGr+EQ|KEOrplmLa3MkT-|R&7$ZV$DSGiBWOupT)*ChVh^Uav_`I3pvn<7L35H2Rh<&t97NF&lY14{r2{3`@E0T$n99uFWb=s5N7()FDmAwqy9X0L=6D>5(Ym#8n4I57n~WEwfR z>@dGQASI(PKSLF_Ct=P!Sh17c=tq^Z(wR`lh#bILM5cyG1`ZkX?v~m{N}Za@Z$F~G zB&?<<8Gfyu4&xa)BWv`;WYRSCC-w^4FOFnoW1T!L+Femp=iMOibW|w9*gw$6i%zyZ zQt0ZA7i<&SKxsPMw~u=X71*Jk0M6P%R@q#EEoF(}-_HRLJKEl}$Zy61hUrzFOS#g{ z6N~;2p%v0581rwB9iEKQDWK52#rd989GXT|8KHVvDBzoOvtiqz2i}gV0c5O$UkmN8 zQLDxJi?wA=hpH@*G?1OxHX|2Bb2Q6})x{Q%l~u*P)w;eMhhtHNs3lWs#G!a03ks#Q zvcxC&G~i0Eiik4F%nqkCi(KLuJjGIaO+G`yl6>K3 zekUZ5t9L}6f137JrdcC-8>-f=g+u-0EI)2fH0woY+TD0yS4PwE?sUVwjQWxpW>5ZN z7A#7x%rHu70NYytsMqPF**`WnZrlPa-mdKSk~&r_(yV(JAl*i@R#UW4F_0eG@)fps zGj9H6e-ZmFlNaX^0yWFcEUIDr@v7#J4?B|eRB$~F8Y}vA&cg=#)nzJ85}{_1Hs5YV zqFP#V?ron$X#yAH;zsEn*zr5BWZCqUnDh&ms*@w3V_mY77Ep;D3K-z+7*QiGB+0)j zA+18ZZ-am?$lv)L;axgt=bvH8#av|%t)?#?nG^M0X~uDrwztFkHOg-0DX@Koy~s0r zu9XS(lAmZV?*6Y>8%MJde&!KEj6{GO}mIuN< zwMuP=Q-%|kRATz{{lTUSOksIkk6_RBRZC}nO9h>HPdC9yv6rpot`5;>(lj*U@R%K9 zZfNJV%Z%dkxm=yfvmPr^D@k;BuSoX<0+O=4YiVrWMI7+ON95wzHW^L(ClKh?ffnJ? z_F@a1`~k9ZJ8Kr!k2K|9#8$Y>LQ#Q&gJ4NpV;!?pS#0T{!v$q!!_?&D_A(2U%?vhR z3Hjc%cl3OU#ctzU%YmSNEdGtH3*rK#+yU37RJ!pd!)Z^9KABr>x+zO<&`VDsqOcnJ z#mTeBA(^M5Fb4*-CWfuX{7S_p7GX|qc~NmPxL#7aL|V*}S-7I@2L~5!zmIjW zfA_WOU0>Oq94Dv7GwcLyarADY3NL0YmQ5|6d(IU;T=_lXNPTXu<*t5IC|?-u7pbeO z2Nq;)7uZgF^X}?YyLs~5mwW1mynXp>Z*CT=aChnCsVjMiU}An07i4Kv<;n{jHe}T9 zmeWv``u3hQKbg?174mB?BkSCbqEcC_dj=o>()?4x^Ld6{iRzIk?BrVLou_NDT2Myc zufuixwkyfM_t_F-aG)g&@c3Xb<|K~$9{qU=d`hPRV+&S|GoA}8{#@H{;@l zD^ySQ-sfM0zz6SQ>?=vebs_O%+5%*R6Bs{Z9?%ny=6RgW`2MXN_T2YZ&|2yI-1ut! z>NU`cO^)7wWf-Wf)p*zw*RO>lpyEkh9(p6I#mhV0;ursMRpBsUy@23nT} z@i5m5k{3y{x_C4GF0qBP4F@tPvE(XDSApv88*9Y;WqO^z`x}e@^_#rxg5XQzXt|yJ zu=o2o;AX1JYviqj(O1-05dn5LBT^r8XH@x^;eJMN;yc5UwS@Nh3?il=0U_LJ#u2QdZen zBIxMIkqua!Sxuy#IE=s(ZpjkaRHPH3jm7?9bOGU+`r1si7^2ytckmrA4^o>ZNMn$N z8lXr11Yf+>Qh*vlCWXugG&O8I(6uyza0L6e3hIKPe=5YS3aJt@>?0!V#H@$6-N0eE zmr$nS!LhEt_)sk3BkLami`M1AHNa*~B9F5K$lqyF1nSJ(R%{gawdO^NcC2pr2X^^m zN9Ml9#%g;`SX>&rpr|aS;>lW3_ZvZFCe%Kf-=gu#Y9pSx0E`){`Z>N_Sl{8X4xi)> z4tz85mlLo6y%^tb=T=sf-?f!H6b+y|Ocq{no+7=+E%R{>Sv~?N?iJf;lG#~{jamLi_j61;@z@{Uu#7Mjzj}yRc7F~%v z^@$14HVqPXX9?C&X_+5F)uL6X@W>U{(1;S#`%BPKoUWVyDCy&S*+Lv>Dq~I|sMGET z5?dRgnc)eBl_tsl_DS@}WJeIoIn}+eDjjPdqbWQW~Vpu1FEgafk2< zrvYIQ*LF0d53e6UjpqGTGj2gx_{$AQtpJm@)Tfc(o^z_sK;qLx$QjR!mX2R9pWrQP zn(lNhWeoNvxnhs3i2fX+VthFZDqrd{rX4c4V2XXXq$wn9t~nImAycT^Va~bE3F`YS zvbsm+QRV49j+Mcdj1P?A7AW0iHATaGZLNv#jXl#YExnkd97&Ut#9b_Qu4hJd?N!-( zNK}(iMN|HyC=FxT=Mgdar|2+S6g2@5=-9ES-xN;|Vg1X6!2a`n=6bPIM>sLFG zDV3*3gwMvnAJANr=LciPLSVIxhs(QYWw4fJaONJasxVw0D5r2d0*&P^bsgo>sxEDK z7X{_{snfvGK7Q$^v>!~X(=DNppt|sTwBZ^rwWO1!Y2uVFPHe!Idrd2bIb_gSLjWL8 z?YmrHjjOOVoW2n;7?INys*39G=g^`7F{=Lu#sm z64?n(5TDO9ee{neHk&kp;4d!m0#lQr&7h@AVv5WTt7zElKA927xPTKD@t)1UUd;UT z!^-;TT_PN>r<`FpTO5gxO%MLG;T0cv!WWpAC~BwX`1ABpVPYZRl#-i3mskc;h*psu zM7Fw+2hK2G!LhWO!$KE`d4I|(nL8D9ZmG6^rS$TNKzo55AqX28?7V@|+JR*2+XEel5Z)`FRg8f$rknR=gA+j|r(*|CW2AR&|*lPOvTrB($d8k&wIw zLINhxugky54yGfxFcT9EJ^jKWwbsul8{%L(eg}!_EYQg9`ufymSq%3WA?>IQW58x8 z7!=$+f>0kL_%FwgF)F?zY5qc1fQ~h6`$3)o?gFDRwE&>Hlfn-#Ksl2fp_x`Bl^eC} znS=>oL8Lbg6|$HZM4;y;=m|(Blacq&XP%g)|0^N}hX&Q!$F3(gx!=q;J&zbDVBwCjMz&&=_mcpKY_^9x?5{z=`S?lXmi@CTdR=OtWNji)UgLv`t@OP z>az~|q#)bf_VLxy3tnEL}E0hTQw>$so>p+m& zgaeiZ)OJiqvN;A5QdeCB#pf8P`AWYK6jq)_rTwe6I3pksMVu2^6eUQd0jqXzKsts} zst&Dmt{^@(pNg{7L}7lUpfH|HyNdVq@%tMo9F0b?Or{ksu}r00v0RQ1ijNi#5sR_U zxKD-zqk?r-2EKBoX1^y)5ckq~MhbKD!2!2(LynNXipx6l@yewKlYPaoe4m~N6I7en zu(H$VPCP$=-F?N==fL4#t;S>ew2gxAD%b~V#WbcE@iws7%Q7Xob4QFL@+JVI+I_HG z{B^CF9k+jyGhT*qkct3f#}tRq$4p~{xT`Lukk$~JMq>(JPJ0jtrsf&mYBHY7A~Wv# zc9wL0i$VPYA|L?M3lqKzAvK#RmVWpGmMcjcJ9bbBPpxVdsaDK^C2RJVE%@2&U(2jr z^fEMve-DyHEYwLqvLqT#z~FAXRESEbB(ZV{D|f)C(XSTXE4HP|QS>nrAmQiz zyoHNL!0ZCl+A0qxn0ABw-^Kr>I!-3l3|Fz7GaX4F(~i<{|NIg5$bInrQLa!5Y{Y3i zTdfQI^)0P?z8C znHgCbSeV%8n;TmjTAJGGorQ%&>W4*16)v2`mcdBxheR?I#>T9oNE`|Z10j#4Qo+gW zHL2y&*$`rg*dv|1%R68~D_0b!W9ty74ZyHyt8BJ-=}1QBNRH{ujhV(oY8AOhCqS+yBzHSK%& zAc;H1nYk;fxy-wMGRoc8*}XgJJ>UBX_)4m&$a4I95uNFueUx%@v4 zxn;nbN~e~-iTrO;0}F>wJb4{8PcNGg1i%~we6P&2#EW%)eihaJRsE#4F=5Q{ZNFBG zv`{}22~^_(Q&@8`UGwjUQnG*e)SKh^UNww9Zc8jH1x#ES*_^8X~9c zWRQ}e$>C-6IOF*s#bqXd6pJ7UKN7@{*y)3}66u5poAmFB!JT*lJa)S?kZ_u<`V*tD_t*XC%bfiNGfgw0Ss})Yidb83gNl&-rPxqr_)G5U z6AI}jtk{uo#Sm zaRYG!;RD!ADI^0>hjMft(UYQgAed0>3An0skD8A4KXj+|wvL7#pnm8Hpqlh)CE4x%&(3r)r`y2{F4faRRRf-p^@ z=?I0!Bte(#paKGshOmqynB-b6Sd|40QhG7qk&CdCXj3(+rw5^F!$*w|CHy#CwZ;43d}$w z>dKYBx>%GdF=??IP!*ra$`Rk9dR-D;`*gNS`wyeLJ1xBXzCnGwjvFQc{uI+E2f=PC zjgejQ=)WUjF5|B%Udcq8bc)DK(Uf^yCl+A%aqXx~?#JKb8jevAR5slEibu}Ox>4qS zy@G~Snk708qmwjeZn`v!+xx=9n^taw248aWu7b&YRI#4gzjj(MEquNUcvg)JUUYX< zEnffW){A6Z%?Ua09~|vV*B`sy-cG)`P?+bsBohze_Abq;!y%TT+>fFum?M981o@v- z>81lnWM3ulg+U#|Qh{eOCze~z#V2Ev+d zI0mV#nehA}uSE$ErV)KoY3YeI?q4fFn5IY{!9YO% 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 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%0DER>;wf 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%0Deo9y(?}8?riQx3p&>dOY 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

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 zNE$rgasmJvDFU-b3YQ|=f%SQN0PrJ20y6u8#V(zW|LXQ|MEZO=jsF9Plf4GH6xWio z$b2B^$62#Hu^onvtwcNv9TU_FYKS>a))R@PP01DO%}xTMoQNf>gw803<2N_}dkMYi40yn|{h+v5)0a}lth6{X zztO*A%`$sAMEv5F=}#YrR!MnY*)vozr+UcJ@WZqgioRi%#`T(q$eHMOBZsZag%X#4Pb*2*Z#Wx z&ks0sb9yc{CH+Rfw9_>(&}CTMHJhL??8iBWzx1?pl=oW)RP2aC z&OdLF6n#2WDaXnlJM3>KcldwjqVd*crBz-iOwDe;OhGU^v3H(3njP`_B&~t=S;98A zm)vrGUQX$ohd3^}PqKoXS3-$p2u3K>2!{p{SPZRN`l)*Q)EZaY#pKm643AzgS+s@Z zY~bt~u49E$r(CA-OGy0JeVxgJTTs()jG<<;CT^40l7dAWr0Qt}o~B2UVq|{1p$jk5 zhz>=Fj5=f25FI)|$}xVv#fr%B9y0tK#-PrEH~1}4sxgyqvmz?}eHfz2U!PTU+G-n~ zU_l~^bYatd`qLOXu>j^z8plVWX>G({)62)U2agnQ33{6wI!$)Evu4c2 z<~Jg)-5M)jtYKKReHU#~L_JL<@kf05^bUIt=9ZkA^%xs4%ayEJR031*S48$%iIj7J zA_lGyHT3vY-0}6?Q)GCA&*oja>&ymIW!?*o#xY3yYd2Zcrr9J)X-RbhDzVu6#SWR& zRH8Z7T&lYpP+0S|CKPianmRP$iac{G% zy4gD<&5Y$UA@fp^7&>c1bcpq)<=ZpF=^!s%W)er%er)`38a!_|O~HI?P7mqcAR~*t z3~w{|!MO!B#BJ06drDjz6p#8@C3wc97p;7Ywsri<;HP-gsIfkNNV*mem8iaYgfVop z3^ywEcI<3i;N+3=HF_R;tL8loBmADxU#-Haewu9P%dJnI^TMguk&!LUhY#i!-DD4u zxZnE&3x~~)71%J&UcHGH39iy)U|rZ z$ac?qn2`vz=+8I%pY@IO0f5je%57snOlID9=IUIHFmlhUplce>E7Kdj6l4H_<%AjAqJ{6GGWL)%Tnpmg|M@n723~SPuWwx43M$-5Uv$NQ& zCA%#yvC7iP%jcJ{xqNfETahiBE9%N@X5fO+RN0CFn`wsh;=A5fy*(9wb<0k4x_Z`D z`geG72BW!NB1{|(I}rcHtWvdjd=81Zrj&|2+ZU!&c10epC&n@*KN}x9*D_FOeCP?w zz)I_byOx1g<3qzTkY;^w+Gx2NQV|a1!TD>nrFv|U)cS<;g0rTGuIvBb^DYwTy##2t zE>E)f^$|LoOBaTbzJ;k?(3mwdQ2gB>KQ6j8{mQthkC3bH=W9bh8$MHuQ`&{J4&bn9R8hl4{j9T5QLxKz@{(y_5GZD zmyc$B>)v^RN8iJ4FP*1R4MC~2Di!2NxrLeDCG&eqn(Ht>A70CVWo98Skc6{?+p0ld z#W8swf-16eQrFCIj`#WXb{JUd7t1)Kgd7YJCss>H$=4A>Ev4xijjm#_gQJ62cZy-e z;-3yCcJ7%wz{+~%6!3_6%!lUC_r7?yxw~MvgUN%VqXL8+* zT39Ev(sZ*VkKe58YgVo>_Z(1#IP;R>>-c(NV@t`@oGhh*Qc$#x;l8t>7A9YcvZB!x8;HLDrsM=?TvDI1yW$3 zhvy+}TIOr{1-yWOSLYX83x{pPO-~}`Q#uhg{Tx3#S;c&X05mA_FLe{EumKM1vFQ*x zrZn6L#aeWWtYkr`l&$wv?Hfhb@y87Z><&)YgJ7JlVtJ6?wFRe}IIE6VQf%Oah}ZpQ z3(6UpvB_|Y?iqaafO|wn5Q%`RrbZyvv*b!ss^+aE^&pO&lOA}DvPTeV zim$(7E$-UT5N5Un+CtrIp*3#JpGtG{ zeHh!6ou1e8|7aGweLr1xbbXSr@iT<|DcS1_caLZJso&8N$MbIhd$}ORk;26pApguE zrtv=iz?V=IhwZVeMbTOXL|<6AgSQR@dbMDL%j=W|JS&VdG3GUC%-Yo&Y-4skWxvGG zZ}&$QN2ZD@2V< zmD_7OtK`M9U{wBDRhG~)%#=A(rEDr1Wvpt2uPw@mHV{1BWYJX^G7pP2l;hDdiHo&9 zB(@q(Dngr!o)KDUy2-4oLwVck0lKu$><0=(+M$2EYBq1FJ99Yo`R>_znc+<8Q3|4{ z(sW`9TtCqM>dw@ginkMoGsDAqVFsk`=!t%-vvT#C5~|e>LS>0`a>dfz`T-INWS18< z)iS19Iz1^r%mA5z)0ehFBd)*cg8suI`_9}!YbxbXeWX+mF_|wgSQjnH?_M|%?n@mG{Pn6WZ38)nuxZeBjSWN&v>Iw8I(M{x2Rpv7#SXPjnNh3J~W`4gqV- z>NM3!jfTCZTS~xq)%hKW8W43a>(&~JI@wgC&-e9n)YTT$n4RZi_?zfQhJdiEwgvAC z{<7NRg6%cnS-zwp$JETWs~%rxQmc1fsjU8bxt*AFa}O{jdEKi%n82KcK;l*W-l7X`CKiosO_=Yr0MuLZ0T4d%Re~ za6Im~fI~8Jfew6{c&!63wgNVFtXnqGOni_}Z*b022maq?Wz|Kbhc@>-ThPGO9Vx@O ztW2FK9YLxmhCxE&v^Y~ZagwIBbkFxbq(FWRjI$3(BYtm1_xs4_J~x!ajsfFzoW$WU zjvqbpY1(o4b6yRgw;=DNQ&|&T@t}cTs zW5nqaZ@0}T8vB+;hvN>Cqd1J}AV3_`B6!bpsjuIVShvsoMv*quYzv-%atSY%nxlcB zT756{jcz3kx%nUqalf|ROzm2`~BTQV*Ke0{AGu?y6NwT(b0VU7u{v;P5#Qx4ug zswwWX`d@t@o&nw&n+`KY1SU|z6#8TtfS3gToh-q+%WS(}7l;vcOC0p~8a40?m|bFz zSBS;(SGcQMquuy?eF5cEh;&fIDluvUb)6y(+dzmj+mP)b14a9sIe%5H+U`(_@EL0= z;{l{;0hi7+3sU{5)A@`tahG-ou0y6dxaWno#ifsa0 zgM5i82{t4pB`LTItyy6@=D=S8U`CYOF^q|MFvEmkF)W8Yckf#OGvVjK3;E^)Le4Xu z)hp&5c7KN!FYv&}*w|Q#88ljl`ft#{Hxv~pac(Pp4lnSHEoi2Yn)fR*Z5koIJl@_s zh^l~_%nK^!qVNWphTQA(kG z4_o9BQg(Y*8Xno;b==$+Ihb8S5zxyT;E^q=dmb0&TvggA zo7&v<8>j5jz?02%-&tj&+byMJ$UE)K4HUNx7;L&cG%@Dc&bTH5&Kd=C75edmlcHu4 zAZXG^-!W2_?NLj5Pchyrf>exRGIC`cTC;X)R6cZ2wKVZ44S>Q^PX>Je^RVxt$ZYL2 zoevfrOUS7R0LM5vBk>wK$X$1|LX-kW#K0*!^!1!$Z&0xdOcNc5UMnZbK2nigdzNbp@s8gZOK40>~ZMKpp^aFX5- zZqlHqrFX(hoS#_;WxE^@Qm-K(R)|h45?&GVF!O>Lp@NFMRkjOm5uecFjV9}bvlPYP z5D2jm1i@G+ch=uIhb#&*%f=m45+n)W+*>Ck!@+|=l7_}5FlCoKV$BxC11pQH6|Xu< z<`i16q{s&*w<@D@$w$Ux4@MCvaKajmdRZDhNag;~58d8HP~wFL0{emqG0BbzXdP=H z4PYXHaUb^-DQ!Vxck*jj@a884@7Wt&pSMhBE1aq{6&5}%kq)ODbO}SjZp==E`EJ~&<_%T(&6vScUrbucjtRR9ftQdE9 zLskg#M5d+{5d}~xqR9TEmx{Z9OwCYs%jT?ZDmpoM%$2*yx&kq?2|~aiF$m&qW-oS4 zTVx!uQ!YFxwya&<7Th+y!y8t-pd4kjASG!Qq6!=~(#GmRog=L8meQAr?8=ohUz z05W0;z9_u`+$1I#8D(tJ?;F9 z+Z~fspzYE?NHp&FAsMH(qdJGsN+mPSjXbFgxjNy3qBBGX--6wz&f@gG;wm6X+}BRK zbIDqFE3DS_dVo^KOsRHp2PonT=_G>y4^r`3#(1BlEDf3Eir!RJ?00E8eXl+|mT3{D z9+HUndJ=9);75>jwY4~OH>EXgZ(?+AF0X{}dRH_)#$DAgw1YHEn{qmnH{?H8vG5dZ zi|h?UpqT7gbu&iaoe_H}RcodJn6kL|B4KKf$p;Zkg_! z7j^+Rh#gx7&GZf|8&KRzy}!zZp{s)LKv_4qC_O=HGwEQ#PT+N+q+>kyjVs)@361qh zc3I}G0L9K2ZNQsKc9ocWqFbAxJJmP90|4TOC>e%tLfb)E26<=Tsg70z7X-IZ+Cu@B zEfwB>z($RM|6t&K2P}Dge!aI}L`{Sur2=5Q?szIHKKE5ERzmaymFW(TWoqc|BrTSq zU}*!ajLy7O+G|+sRYUH=o=V+ZF$Jf4#`959H9#!zi#R% z8ccYfrZMB~^QRWr5UR(b1>+nHb4{F_Z81$?=n?I;)Jmt_Q-j0}j+ZHugLX>7ZUjR5 z+8DIf2_b11Ag~DGtbv$+1W7(r&(pN>3_OrO9V7hvr^O|?x9?Xs+z-3T76Ka%uK2#; z&KVXPh$N*rYFfD5eO2C(DIm3X(4X7gUKDUHba}69Ut&|_*U!Dm0CEqS)oH7R2AxT*Ng>w7Bj0H1nZKe`X}lO$HM_pXAJp*1Ip3_9n&W^k)bdjZEgqqGho zu>#*0tC#Nx(xP=wQALu}XyU|?@h(6B4 zI|3)V1G@0J&uYSG8W7l08a6q@ZsYY|+n(Maqyeq=VqyhLs$ZVg5;#72@+H}4L#h2Z zEKj|gs~#Qcu@CjPEtDwYP05$b=AP%u-K*(=B)0zazyG{JOL@wSXV^W_LejYGt@+Bd zN07pk)4}IFA#hPugNHHOo%AymRhCburTXe9gWOQA&>_y*cROk_p#)?IBNt!PLR6aR z-&}M*-1QVi7A1hL8`{#4SaUTM`_=q!`?u_6c0g-Mq~0P(qisi9Cm0bMqRXb3eim9` zX>Bbb{Ot4@R#1tG$-!=PWwgUmt4cqHg);**>OknPYh1Ode}ASliwUbwxI1I;pW=>w zD^!Q`D8m9UR41p9f3`Mzq?H93;k=LB@JyfbPZnB$iU-A7s(Tnzw7jwD#%=J*p|G;x=eqGBQIfRUHGA()mJogqGG6rQ08Uku#wjE8 zy2+x1adyKfQ_V+?1t)HI=ybK`@g6|6kI6+Gqh|mR5UA0rvM0%TZ$*&>WtnaFBMR>r z^6K0?is!_d*-E4J?{rvkDNsW_MjKqHLf=vqTrIxI3$BW;L}w^gVJPGZ#{YrghFrQw zIMO%0gv@eD;8Y1a&~2mQOn-Za7`~~IQ#sx}G?w<_KE{$;VV6*cktecK8E8@*PTBmd z)umSTS($XfHp(Sm`%{sEwGNeL$GPalh8#$t<|RPh=!{WTxYz@a2$QiOAx7Pl@JcKz z7CG#*rWmqQUHz2Z94e({+~>l{gJN!;S`vuG;CsYQOEnLYh}H}!x%-yV9}4$ZtcF#d|qZW=kR%NOm0m&<2(brs1LIc(&Qa3S!>+`A#(d% zSLCx7_QE7g!j*8PmD9gOHm_2END{N=%AH*DceWIajcC*^3lR?5fZ!ddLVlyjJolU) zspYe|se(nuH|%}z->e~+=@bm!yprf3SSE36Y#U7la&%e^dihfLn;%?#Zye zss?$@MBXtKRK`MgLK6kb1x|Y|MA~TeCl{1TCX-wcOtoOg(a!~u%DAs8&$Ytxn(w>P ziT+|AV+9t+7L^t_+ZBez1LSTpXd|;pXx#&BTo>dVYH)+)%eV|aX|jgxJacpjg zBcgXrI&)X)llk?IouR|K2N=w4$7{_a9+J`|lS|bgyg%jAC`Zz?j)h7C{giEDIl}=! zVlvh}S^b2r(UUz2VnAHe9+700gDtMJA6UK?HeVG5-edpM8j049O$JSh#dz9H5K4lT zYZl%E4~F&HNy@>9AS}b~lYfxGfP3X@XYMx5k)HzkyO~#H$AaKp#qQ!FBhRrDy6+Ot zi7Gsa7T5{lR@Hn-0g9jz`#aYn4`0*I`sy@gu!&UHMItbkbpQg`9SEp|#kv}6%$!B{ z!8#3YVN--CxJ7WdQ*-Fbau5SKLFHni#!;@O@fNjlCdGF2o_x^zrrSqHh`ejnfr7|i zp*Vvhb);7{nc8^|qJu#VoU(P~mm znm##q*D?rb*WbrPoLue3R$9M7CXb?0U~T4OE{t+ju1&#W$oNIVqm-9Or<<;%`0*m4 zFY9&eHDQAP&Kf-Mm5)&=5#D4PD6|)>8!dH(PnJVIGvmXK<$X7kAA$!L!eJ%^bObO4 zB*0^;y6@dDq?mf>h^Wj(9en>dU#36pQ^D|U9NU0L!@gBI{<@b_6ev#-8|(2)gBkAkjwZg-WGK}Oi=_Z{ym3<@q3 zC`ZgSRyYBcW_aQYfpq|M_3QCB`CsMifTlo@ARI1drsZ zZ1cou3G`*~HN^W^IW_Pjz(XQuwxz0TaD&;LtzbZyLz)d%l*Qn(#d{e%Ef3od9&n(q zy3p>jE(__!R|r_GxB25#T%j-Mn=fD3ax*N4nP*^q*w(KMhki6Z*v@cw6E8~Gsicci z!Z0AdD3##YlTnAL!xp~>2W~2YIZv}2S)Bu31!Tr;;>fav5t#>kZuKS-cdKB|R^5lm zAiIoO%n(=`A;( z38KcX6B#_+C5Z<+DZwOqSg>Mwd607FshGXZsusutivXvIoxXM1Ivz=7o>gmX*3iwG z^QM~VKuQ2gDBvN~`Qco+wq=nh=N%>QOUH*I19PTo$I_WpW7>~LKONIk9-pOTY11%_ zubU<3P>{0tkS-qHJ@DFBqBMDtyvu#!gas~lw?fT7B7wK)^AhCZ4tc1R$vD-q&pyjS zTf_y=vKmUxhtTm1#T+E<;ut4oaEd*i^j(IH5$w!!2--PQ7H&e$T!Ar<-Ja+AEdV8a z9FqRbwz*48t`-dSmeBNr$IpL9!aQ4wDy0dJ765Y7VJ4|R)g=VuWEI!+Mt8+Wm4k?+ z1iY9GbMp($k))MgIfqL@s@S9yCS-k(pGFg6a~b5m#Ly@J$QYA1$TGjChGDdBU=wmHwsTDzag z*IPdcJ@GtiU5tn;u5yE7q9mmeK(T6`N<@4UO@WpT=_$2{1mcN8^j2GPoOjZAYFQN< z0%#7-k-!VTm`mTejv6Z(d0v~Ph1MiUF2Q8uDj_-ol5ks&1yF04ej7LfVcZYO5t*`O9EOcli&KGBu|)e(r0B|cL&N)`5G=WnQwjuBd2qIGRR)`? zg_j1FPKvo1N>ZW;fDA59I|{5doSmek(qafu>iSrP56j}pbBG`u8SNqr#~3+6!7;l4f!%QrJUdk{s zCVgFvfYy-mrIdJsKDmFQhP%lq++|Y6jRAKkh}WGKnH)pxb4j)f?mE^vCxlYGO``zJ z)IR8RlF~2t)BBXw{;Y+iRlxTRo17N}1#)m`fEi)z7A|m7aie@p4AoMrOP3*le zXuSgPh%q@Tex5ZENm38vy{HLhgc9f7dFXAUTwq^_Tn(ZCT!2<c{m&-n3G-C9V+w=KvH0Z2KMH(9&3^xio=g zCR=bJGkSi5&RvD>GV3Qg0++1|Bb3msWvgvikIkeF=mpFlpEzH9| z&0JvkoA*#ch^k9wEe5+7U#MIBg(}5O(omY@CJ#dyYrHz18}l#)DIeImpxkK+XQGQJ zMHgzNjpwKm0A_vG9_>4*u>J^a z3yxO3-B(ZIT|)F1x;$9~!b&+dI$gtpMpkl7-e1FT0(2+})z^RRA!o9cjBkySh(p|@ z=46wSFmu4dxC0JB3C^ULa+lB5d^O`+JNI?K{yEcM;(z}CwhFI2OKlfSyWRYW(TUa$ zy;7Ed(2!09n1eCafg?O-|;&oc*%If&^<8Md@2 z49M(;Dd=8oc1~8z;R2kBVEE$XFpMyEy5VgAfz6L1XuceP+wd>%Jp3Wu)x)s+Wb}@? zGV9wr{(M>=Q=HC+!{vL9aLh)?Znnd4u!vY_d?b{75z-`$MjK~Y!8Yl`E=Mri0bP9Y z*Y9acAGe|fZ59GBRI_KPms_y?Ewp%}K?z9M*Bmgc6RO6Rn>@V6{Ufx?(;Y6m%-*N0 z6K{BfqX&>3L)>WBHBaLQ7qs--s6=m@ue(5!Bqt)z|wsm`K?`^tx6XOS> zK!taxd_e;#&|sWE-KUc2ilSU97KXm930t`(*{2OJ9mkognP#@&x|1ogTDvMyA7Uj&S(P86RkW(BvBEY^ zs-%)#2X}O)4DOKW=oF5!e#o0`A46RSXRGDp;~Mx< zV)?E25#TBH==0bW1t-$!D{yTF$qZ*vkja{eXuGC0A4kkwo&u#2?)mjv4!9sJv#P4( zN8lUxX?xl|mL-QF%wra%>z2Hee%jk9zquGRCK`cTosWJsWC?p?jDSq%w#xr`ff%y^ zm|0afh|dHaxjFLL@PF{G7$s=3Rywz}Nm*K68vuYmwf{#XHr@fS4L|DX?wX(EZ0we5{QuM}CFFz63M|AokOx~noyVp417tr3kx<;^w zqCp>2iH(@0%yp>EAKvV|(RhM^Deh9~7ynuA@X@r$Rr==hXw;^0-|~${ zi=@td54E=qdlsMTO5%p+#Z^{aAsZPY5nzzCnp%~llC4&8T)36GrCAcen63wdYl|s*%4*cs zi33o?U`7?2$2M}NIz(q?CR6Oo3jN)ZvXb<1NUX{}08zx*fo-3>4~r8^l4U0+B_*?K z0;9`|vPcstsCRh&RqS!Zg(*T`p+Ig=2*bI>&>b|TwVy_U zMcY;@-|;I(x@>Z`R)v|nQ&~7FAB=|c8t`cRts|-sORrZ)zmy)D*7rhI zbrd@-#KA}f9So&iH|BX> z*m_NSJjdJBXbZjMvGL;sby}aPuWLzm`lmq-zSJNxKNpl}9+~7;@H6wN&Lbb1L$m~3 zr~rO8>(R{_Hmjp1P+8ny3ecf2C*WrY-2MzWa79CDx0LKVnr@7VKF+A6h4u;Fv>_xPV`sta8#MQ&}qROcI8%!npZAQ4tO@UkD3MjJ7Co+aYQ zSJlO69R}1E@jiOOLl>fEi?>R~rA3;;@gl&DRc9fkYJk73k~Y_89CpIa2esB5$hIr1adCLVNJiZ?nB#{97f zAL08NZhIRl(~wCPeTCY(ZqEdw6t{F*Std1RRx&m@(?qUdgn9Z~L|IoKn=8hB zH-|-yx~A!7cpxfqL$6g;(oh;t#KsSvR9lwSvZqX24ah_**5!Rt*_(Bb7R$x*j0lRh zIJ45)wp!pCC(NoQ((jINi<6Mo&HP+5w#T;J5wxZRmm7AS<_KhaOy{<9eD-c}TU@TC zdpA1Ax18nS@uQ6=)VRks-fvHhvJj%>C`)#f#CCDZR(I?(4rBNX>q93nK@~za#vndU zWjF(~g#CBe>5mStack)qHddRb?w+y6#ewzW`c&MwH{JJMysa>90Q&ar+mW}`Hh#Oj z%x3y>CYY|L>zQRgP5lx#FJ3&Kv0kvIlNUG0byhYxqmUi*Zjh#bdRtyUrCbMbWtH$} zD>hM4%4g-{%5|il%gVXAF$N|a3dLv2S}QH!s<8L-ZdV~SfOK!ZS)}4{Ya-7EJuN6l z(!gDMYNeasZb;SG)v0)05$ZQ&xo3WZIL*;CX!olGhYkI$9#zJ z0|4ITb~K;I^{}HKXGWv7sdD=;V-TBmRDjsN9DX-b?{;W84}Rq3C%tFR!#dJ5(`4R{ zRbRf_Ai?EZ(PP1=IJJ+S*+I=-Kpi@)}NZr{q*{+ z9OC`)RnXqK@5xqk!K>J6@|FUjQ9;_&o^Qb;`A zcnkCGdT_bAJX1Y;)~*cO_D@Fo(rRM&bhOexF}2f~tR00{_CGk>8?=e)hoT+|=K`H5 z?{lx2A1~HXa2w-Ew6owL7j)XTF=;}5Cz4|kKb(SFD&eeCH0D9O&LNW3bzX3d?FHj5 zQ#tURDWo!@@xXMX9U7QSU;XCgJVFV0B897&yu_dy9N!@Jkg9?4mDDi8kaWgzCojvk zD1;mkm|YsEGfP969wGyliWAE}7!as7iUGWSR8JpiSkn9S`n|jEg_oJ(kEMTac=a25 zzyA*ATQ9qB-@pIfi@Wu&{L0V&_OE~XXMeA{xEQ9fTjQrpnfJrr{=Mm`QctJfd%C+f zE!z*Be0g*>zyqNDmnnXrKQaz|&v8X+XkNT!pv^^HTtBgWc03h!=Kd)qZ5ow)T+zoV z;CP~#f?NGOCm(Ij(ltGYNn?9{>_b6#5=INaoQc%Db4@q26_J@&vEYC7o4*=5frw(d zh!yMdR>*kkQK`zJl32cPaIT!@!u3`o`&`h0Mk@3IUptT|Q;tQybkhhm!(-C-xwT`g z6&gA*K&+L9;3&na!PjxD1aru|)p9y!Iuv>jF3cq>5fce_oWPquE#lBG{i2=LRvjNU z0AgIokfG~us#q4xJKl2Ga8ZL%Bt(4(>QW*x^#uF%=06K|>x&Rk91f~m^p^jy8@jZi zyO|gQ%}R$e4900BkP=Zv^EfF<_c>hz5B+<-{fv9c13gt?6ZtS4%nixIAzMuVI@N;4qq2SwDV zxwd98xm66a(t%3VY+Y}NB@7EgaZM$Zu5Zd{jeg>03u436L(3bef?yyl*bYGvxn0>> zdp2Qq8vCj2IU1oR`5a2c!*~&5c2pUf+#FBvSp=Ke5A?*K;4)4CI!(gX-@v%mXe3V7k*f@k%36PH+NYm;;CY&L0im)yGp#xU8kW#J&eU$ zhzPr=5TbU@l8x6^O-1?M)u4+b^8#@Q4T_m;5XVgH0MzQIhL}z@i{7q!boPU5#bzf0 zTUcPa-A*F%Q?~m|%T2$jRPb6?Atg%&Zk?ORXxcQ&)D8ze_8YJOm!{|DFP|RYkb$8Uli?&CU~BrM6N#}{L=SW5F(&o2`b!tP`$M7@ z$VFP&g?XLI1Scrr+_V#&W4W$*)8onkYvnar(+y!pHP_-c{L{U8k6cu7F&L*3F zVAtb_0GXf!iZ(_2J5{xjP*U#TJl|a+)`m*wPq|n4xcVYBw9BTYS<>n5c0rlg4+yYwhPU2k%w0>25iFXFd}R5 zC(c-`U8@ekQs9x@Vu`o~<0Jx<-v|UJ5n>~7sD)6!@nppq!W82zr5*PfgA*pg2}fCJ zv?UrsIpIuCT-eUFQ0nPQH=U#jz_iHIA5r6CAY5x*v#JBUoE~a*XA%KLLA|&w+cCl; z=hkUpEU7?$-SEmhoq4p{>VtO(&m6jUeDt%;rS;siy#Y42w z!o-`IsX}VTvFYPdkJljPS*ZZ;yHy-l9h^SD>l&$!J~^I~6E0|?KbvwC>~8^jD?nHv zjOcmp>0EW!E~BZX#m(Ec?dq6);VH9QsnHQCDfWtLh3zzjkyo=1viMo&n@TUtHgz?8 zm#-_kYv?IvUDzg49XA?Ib&OSfQw8%(KIq3A?0$xA08GI}34cW|LT83cJ9$xeLBf6kJUeMHev>m#xf3c=5WAqIo0!?qvleu>dT`Yn?>vWK0$~EE zAJ&j+dT8+{S^bQ6ncF~69CR+07Cd0m3u*d4abg8J5TE&|{T=;3AnKpmHK=iH%PxK! zU3bXqqlsM~JAn=x$^~`F&fd;Z@fkZ0Z3~92nPf za!0!M0sW!}RpfojhNt_K#HlZOLe(d4#e~>}<3TBAQy~By0}QJy z{~!=l#H2OW4L2sLL@KFEvw(#Wdc!@@v1_-ejv07TZXDwYZ;rPQw22<$<3JA7`(`Ss zU}3z2=9U36a*RAQfd?5Ri(h>Ee3IT>Q)Wxln`entEAVR;>r~@-YmmF3XZ_hN*zc-H z7!qUV5w{S}YWg~@yDm;8O6KE*(v;ADr|-_#fepo(r_Su}s@}i~9mKP?%6Zh7AFC$V z$n&bD+3PO~f<1L&_9;D73ohJ3dq8$s)wfL(XT4s@`92b z@KB5@)P_hj9BPK)ba#?kV&!)QEzodu)q)Bu-sl=J>zquIGF=hF6oW3UgQm;TqMHhe z)3>#K5_S=#nVY8L&ZK>AhMD0&D2M}P=|dnUr4$1+?V=ub122oyqfNDLnDxZ4yE2_?(M;%fA?&J~- zOFONK?KrTr3_CvFEZz$?MmY(ps3%=`I-X5(agWAz_jY6VTyJ4%WtaY<;;PhOsZ?up z1{GgM%yk@kIazck2mm5VK6cT0A<}tE@TA%>5fIK5CQc-#^1qO508a-IA5u*Ta~zNW zZ2+i=ir^B#ZLH%NlOS_UNE`$$c8G9%jA% z!_i-8#H^4TUBO}kC zm+5+vP6NuO^JkGl1mxkw6RT7=zj5hmt+jjpq?&cc)hDOmeq4<^B zi)aSJ&>YOTZ{fTo490jF9U$Pnh44u@3{v>w>T17TF4qne+~6^+_vFdr-J=D*94|Lx z->(ZNw06h4(lFc@J~iXS-ee;i9VVw`M1FZi;O6Pn7~f)1NAqN1{y2upSE#0HE|grCR?yQ7R1omgpP9gO2apE7P(HE^6GGMj@+Tky|klhhYM+OtAR_(P@b>3vR z3p%_6%e57!L~_@kTy1}&^H$j|Ww-x|U{RH!{j{8x&|umTF;7~pYu}wjI@eA3mxu;L z4NG(KK&tVG3uj*Ep(9EfdX&9I6FqD~oqI?!PjZM~{?0n&_B6)WNJj4oWo66~i26BF@Kjw?IXr&>JqN(dD$S ziWBOEnFBzTrr~7uM%IsX17S7Vwo!}3IRc~zGex}#3|l>*5(jy24|?R zMRl}Ai(ld+%}+a+=o(k<*CoX>EDOkh$$JUDXDl17txGftq}TfY#FcT_!>`#0*>+A^ z0NckiGU`&PrC~esBbCSm2U$@s#&i}WDfxyjQD+!w$PYw{(%{zrkcZE3ML*E(8s&bB z)7G5!-G!b~^E~@r7uYk5G(-U+MQOm042Y}PAL+P`Glz22iR6fZ!Q*_4PD9Bk>QIi# zanA|GuD~UI%>iuRe+ij!KZ~qvBuT)8^lK9_wi0H9du5D z)F>OZxfi{o?f!6~bvmKeGV<(APa13+*_`1}2aQ7uEvg2*di49aR!;4<&GYQQ4R_BQ z$zrOKZ=*1rLvEbl8JDkuVg+rOXS^~sl9#NPf}2HIsTJ%2x&&M4$>6l(h#`eC^}C&v zSNB9EcS(pp)y+Py$7nbg(vLS@%~sO*LjB2=To6MDvX+qu-8mk2^((@IzhURsT7L`O zq0wFHMLlDN1t2C|1%~EduPZQ!i&}5G4WJ#Kk{1Oh5#2>7TjOr5*QkkrOFe+3j!P*a zgMfuhUBP5TFBVwBu;H3!zhCLpGwJOyzM0za>v~nPEq}yKv2M>LQk=mHnzWfKY$~*k z$}Y`^DAp)r@^M*Jik+=^`Q#~FO-46RVlQ>!=xHL#~R}#AyI;gz&j~p^Oya9_hkP#2 zs>^1nXqpsw9F45j-ao0VI82Qs*sj&_@1U*7Hz|WOsee#8vK-YEe7HLc)$rCm8q_ba zJ>afHwxV0@AmV zfVcqG7y5X!CuhAjW2fG3)75Iqy-H4iZW`mP2W!PJ$b%+Tjkka7PEa*L&EUid?5MRu z(D7irOsekiQ?Ex(w@EqD{{INq5 zDei7pHhAn%`U(l);Gb})ToiR{r+Gov=#kg{?8F%Q;U0dA@mVa($MdUf1^n$^BGQ~Mb-nc{lO-c4#c}* zPW@7l1`Ts8H_aRp$?gDikAZnR=HBXj^>{PPRHvJ!BK(j{A+Ule{;byA77vt7{*#Rh zkLs9GUm>rmGseE0mK>`m_sgXkl>-F7+3%%!2$s=p%RLz z8S&+(fj1D~v-%Ar0`UGDScu}oH&9r>#W%1qkMG_4p%p{P7K@xb%F`?j~7{^J}RxTAXa%Xy4EWphQIw!Gscqns78k5J?o#EGC8}#Ih7E%ZTH3bi|W@9s@=aNy3DgWKu{ajpd}X zf($aTkVQ78zn_0VU{ElN9TFNA9x-i1g-R!Mc&$pKI{hY$#@mMYYS-$EuNri!w(6nJ z229$s>ziSRth?Z_$f#z~8)7cH6e zflwrtNM-W)nJZOljaH{O7)@r2wI`lsX?HkXZjaaJ;OOKGV45)-0EZ_KNn{F@)^C42 z_abWslf~w6d3=FTB$h~Jpj@F;sXLym7Si?7t85aaWP}lu*<$UsC+@oEz6Tz=<59M# zi>sTvho_gfkFOsP1cpFia0C*C#$cBdXlN;c{x1Rslf~vJtEj4}YiMd|>*(s~*PDT% zk+F%XnYo3fm9>qnoxOvjle3Gfn}?^Dw~sFZi9%zrI6Q$!B2%a|I)lk#bGSUd06?Kg zERo9O3Z+V|(dzU7B1|abLMm;n|EPqbYPw-sw&Qw2`aw60;v~)TqBLhYP!rmERTiwh zm3iPB`jnoNuA^4QeCN@4GM%Yc9bYV0Yh8LQrk^nqM;A|_+Rtov`@`{czFcqj$Mg06 ze1C`I=?oZ_;{{QY6;;y>)3P1c^Mf#olQe^QQC4-+qOKoCOs08RH+s3=?vLl|{rUbt z2u4s0CrFBBSdJG&Nmf)%H%!ZR%9U!Z-e|Vkoo=r`7>>r1>1@7OuGX9FZhttQmd?xd zc7Hry@6VSYDVkw9UJxZ&Q8nE#E!%NDKL8A)I7zd-D66_@yB?5O)I73!R)5zJkz_^H zbi=f4$Mpa%2*C)7;RH$149nvSgd(v-Dw8XeDz!$d(;JK?v&Cw&JDe`J$Ln)&baDnT zSR9@}B#|jp8lAypu{m5GUmz5TB~lqES146#jTX}B4MrF-nJrcu>f-9=?%^4X7qK|} z&h+;24ZkR*%9N{6sS01UPXpXdI*vqf_xW_wkxR87#j;m)7`fP&nV@kA5BaZHoFJ5( zx+ZgPMFt_945wdf!u?fDCqiNBHK%epP4Ox4TyWT++;wt>>wFT3YE>pMs@Q`&%)+mG zP^(6q8!{EMVjw7jYH%{JiOp>)ENvDe`n94qN@h# znk<4&%rmW((~*s>eq}0AwFVx51HUq*e53B*dw9LYH#?4Cvi%YHX2*g}NTWK(ztV0p z+WWq*W>vG>e01;oWl96IS=7_(fQ8ehv2dnk^Q;Kk186`O7B`cXK zg(?qGGJguCA#Jn^n5dapTkxX9np$hC>ZE*aDkzsacXM_5UG;GMCt{VeRcV(E7bf3V zC@(hyR`N;{z&wjJs8T8qT2;1|LF8-n#vpippVLs7sv9DbV_h%Z^Kor|;mDJ27Nrv{ z$dmx7`;l1j<8Eo6h@@ll=t7V`4%S^~T0tTKRE-HxA=j!-IOJfplM)x>kmfO=j3*T# z0D%UOF#!O8Qc5YMl+w#FIOqHsBoLsC3%OQJ!USjvQc9_mQc5ZH6}UIhVnUbzWn9P< z@Jj*J=tq9J&7=RUqwC<^y?>M|PK&8~#xJH9k+otBa&0uLVg<56um~ z^cXj6n%nBf1wC08i?HU7Q5Vab<_#k;7i{D!`bj~_(%a?fdO==^(FM%0v~SYb1uy~1 zxR6RuXAM4tI}Qsbw*p?e%DD@M$>cZq@UkVE`MWx#zr}Akk8j8Ir=A@d5dZa4ZLg2Z zlqj=3(FgTLv5WY?$NcAdJcj!suOn@>jq|%OSylf9)0+ewfm3Ca?WqX+bWn4(5 z9oOV_2os=;3#qi@8ZX;Nm;hy5NTnUuc-byt0+ewfm3Ca?&AS*8CO{b%QfbFEUbak_ zym4PR8vqc35fsA-l4e+rPv`+41S2Sh6C};B9G}n&KnO-q3?~_u;}bdngkS{4aDt>6 zmg5up00_Ydis1xFGc3m^bODH<7*1f2&r9;U|7D>4|H8tR^6$zw?1E=w4(4=tP8oF& zJ``~fR1cm4+Z*+Q1|^VW(%K7EYo1-Y zFZIbbltugpER)Y7{?ntyZ}39Of3VOKXtLnH8}QyR7EEw&E=9$eGn;avVutnRW5F8|&$`EwXKi3csh z51Ofs!>QsU{yfGv?X>=1D)v+Na5d!*CsXvWkLbhRvqI~9%e6Lgct#VzXG<2lZXO+nlj4W@_=F9JpVwbL sKA>_s$7x|9PP@q8#SEVgNs+jhFSVY2`RcXSI9}qeG9P$E3pY^Y0k^?P^sPuHs*^98f*i-(>UYFZ_TcJeCTwOy%dZ@Vy4Pu~2M( zKSFWOm9)c#9LYv2G$rw#U$b*Z&veP2SbwwvLG$h01Lr5{lE>|5&02mWU5)3ZAvl2bKagq?*I^Dn+55$glFL7Tm=Eu&ET2V>7C{+Yd!SL9Qm z9y8ZK*exR_r(kcvlatJ?^hE_{`Nv2thC-dN7fWw=2pjH3O6Q3t;_Nq6a3KQ~`#Uim z$BWMYi5%X#c`H6Qav_~#C9Jfjo>Qz`A|LM3U@P=v@JlPAP_8l%iyfMU9@0x`C96b_+?UcXOxp7{Ot zzxK?WOI^Y!+GvcZ2WAs?Vt`R#)eFS`jYy0RB#Z>35$*ulw(-wA*gy8<=l!1iGamQ{ z1Vj|U4Vr6VY8tMcn&sNLR!h^}uyRz|vNAIrpt*G$QEBqDq@dI*@{~B|91$r35=%De z1+_8C5jKO_#6*}QYh+H5FN^{xY>=DT-TP0Ieu>9<;z8jMM%G9KL0KHf^VDI!-P@UH zDaBd`%~>kdLKLABj!?!!eE%oi`k?*)u2gkSrMjZuZMhbe5G(>7v;9OA-pugNKZodj zKZ9aP2iBlKrP^FpE_Vy`ctaep(%4`hRk(u6LG?TeJoRh(c8^ME6W(7JTVMwaM&yK# z?$qcSSp}%fK?4Mo*erm6`FGP`{k)FmL_|qlz92Ost-~er*h)o9tW6qUE!Sh=$Je`za$!TY6w(t@f!C zqDpKehPo_z&w6+O~k7f}!rYKdR2Qo-PxoRtmdjYCWi5Wa zU+4l0#JFB#Y>>%CQV``zl2JBF1^-{mUgwcD zPqVEUipSuP(YK+Em;kb&30xCx4_fFmr3Mi~giWO%7-2l$RJIzZ5UJDn+;`#P(92&c z7bCP_!@L-}ycd)5)l z0fH9c%Q{%|8c7ETRS;{SI$fI9Wf8jyL7k%OQr)Bu{C_|7U;2->&(r_5Q>rGc0TKY$ za{^Ep@{_Laofk=?wC)K^2h?)fNmqgz3WA@|AQT>+->XW;zb8{K*{rmL|G0p}WkpQu zIbK(uuWL-1bxa|ZIk1S$qyd?XiUCTN{q+A$f;ee8rb;QIBJ1WHX_c`;%{M8t@y z9%Jf%4lmGm1EVDI{AOh;^pTAkh?%(O>PPPeryuhc0mC9iYiYIUEfNwsUl@lT{g93Qx}NlKy(En9EjdPL;@2- zSV~w&*i6_>NFW?0+#ozAq!2PrAyXE?u}=^|i4G#RAmUPrUF`Cy(gmU7imIcyy2@zW zwISq4y#SV00VM4LNV*2FbPFIEQ6$ndlf{TJ$4v7&4uX;uL1c4*T|RTkk-i2$Fml~- zl-zUymEouwwZJK!a)xKNJAQV-!UgxAU17r&kMD-Y2{%0PdI}vpj1ZSHo{F)%hRiKO_z!RLVg zeH$ng8W0TNjD-y+oN>VwH|&7mjtBlkOeTXEXXn%JS@dT5vUy=%(;rU|KyXHALX=ip zK`!)gjG~CMP#i2t_=3<9s!+NFlor`1&8rChxL3?+gdliCWK=YC3{1kJu8u)gc+WwH z9Cb>rv#z`Ao*&%zz`y;+fBot2@GDC>DR-4Ua*>Zh6r&X7s6tz1sxZU ztPDBqs9e`vcf&1r#G3l_d47j}_KRQr>5<1uYv}S+*&-WNY0XqutgJtoK*1jRWp}%0 zs0t?nWllAt=#24!!f8a6#Sja4uGo5iUlDvba7W0XJ~uuh;)j;_3;o6Z6FcHw*=iK^ zt*|WPv-QfzQ&?U~v!hCFbE;`*>F604ftifV&T3)V%qzQLapbhBTqecM!<)~Z_yq+2 z9AZinexyU6qRc2`vf2h4ZL--GTW#~$6Hhf^Xx4&hm)-U|;GhJD9Ch4Dr<``iWp{gK zNvMxqmvS=fmc37*NiJ)$={_@OQK$~#FpCIRGV-DB=f#RaTLUR4R$22OzxZpit9X0y zz-ldF)!|Rp*`Njc9E)*cTx=XGX}?mLvtX8|D&c5j?X!3!9kRx%JtLkwt3#H@E}!)` z16L66-1Fim#EvKlQc~=4tukTctYT$OkAGNL-jE_CzjYH8BdFC#&*}-L*NxW{Juj@a zE_UWF8Z~VJJ=g5m_utqzM{QhX;|Xmgt<@YW|_8+QjIsKY+r#mGV#fV0Xux;I5ua8+-9Tunsv1kJXR>`e*CTXc+_oT#YMDrVI4xLoGZ-qnKY z2{ja`ylc3`NWUXXbu}i6H5I_*83ZdT=WZ@m1RoE#;tKYSsFtfXzh~XhmmM&3xB?qB2cm&SPIUf}kB@*3hvDoDT}4 z#h!6V&Jo*E#;=CNjxi6ElY?2{@PW1c@_OQ>3Je?q8Ws)#5ox7aqtNUiAc$L zwK*&^6=CL>=d|-Ky6lGto3WV4h>;`>LiRC*^=6uHT}zXFP~Ke2q*-abt;w>-!IU}S zj7!H9Zn)=(6tAWE>JR^YoUW$I<5>uZP3*RX%Brj;o-3l90Fh7tMEtf`qpfU}c*n$T zyqI#|9O*rP&I*p=lUXBTDj82F38UJSDXvRY*Gv;4oS zRu5*~7$~!6ZMd1k>m+;YUN^br;3tP{vdBTMd?DLfq{)_W^7Wfy<)&P=RMb_kS=w}~ zl|I8#Wdt&1UZ*Ta)@#y|B$Qb(8gYv>abc2@t1`6`(<_V7e>_bSo>JeRm9FzL&lKWR zr$3A1KmEij`n`^GML&qe2EPjEetSVkn*@6B^Sc}muJJs`s%c$K<6BiWNG=J8+J(j(z=4r{SBvg`3LS z?c9DY9?bQd?!WtXM+2fhuqasi;&^pB@Ff3WQd}{jIWPQP-+@kaCzJ?!G2kr-V@wKF z3dAgAGjG(ejFqIL^ngw6*#4X;O0AO+>3Hv9=&dekWP5_F4TMAcmpiB3@yE=8jWs2^&FisB;u zYTa=*)_>T-MHk(2c;ycDaL0+uR-*+w^vkVbcWa!l3@UplxB6Y}nk2NWsgtL=RM+}E z$(OcSAi4OyweRpnp@$|k?i96m7jM_)j0ZW@uE)IZCo=!y`D=$i4qZFb;01y6l{R*V zJmngDX>qb;UG5_CD>Ouw%R^*kGQ2{rMlMFckUFRT>i?l>?K^s^PxQl zv8NqqU$*@EC4PB>M+o?C0qaeu2-0i8;EMf=uOkUiQT2MFIG~Nc`7|m%A@F_|<$lFY z>7#dGhj{AG=tJ+}`Wh10#80Xv>&id(uT1RnH`-)S)OC993J;8l8fvwpBbbRkRI_`i zj6rWjqEw2A_0lz1pPq&$c{@+?8HLSEI_Naz%%tUxFpg$x-V1z|9fypb15|)0$q;fZwAxlDTyjUE*91ddV6*GDy*G{2 zrlex7a|E<*fW-H#&3kxEKO}ZqQ2R%fAz1XjUFyks+C3zByuDT6A=hOGb&79RI#Q@T zF1`6mMT>TB{Hp9C%K1Txb_)+sMfoVsvvcsRTpM881BbM<9p6um9NbX&$fB|YRkeKC zsh7^)1etsx3^I&ipAxpBo!$(6lfx937eESWCqlsiXn=e&r z&G!EI(cL#RGBzUvMArrimK^` zY1xh&gkBD(qfpwnI%Me%^+en{V{?B*ha!mCly+Z{lkHg3CVlTUZ+g=n)E)w55`VY; zTYuR-JkTg|!pWvco2$ya+rB8Pky=AO%6u^6PCXJrp^{O)BbBW9yE%+S`zXwjs7E83 z)kEdbfLmx+m%Wq7HzVWo8_X7 zR>}mD^CLjj4)D)gwchpmEddD3aZS5|pdTpn3jnPEkff9Wfgpedph3js?60KZK9cG zn{Tn@)+c4kEVa<3u5?vv*wek(n{|x6iOp|wy#2lZive%OJMmt803X8F;A`=#@aynL z3HgKy0+K)`a0wcMlMp7P3EhMlgyn=agnx;rh@TO^A^u8yL&_(WlL#aVi9r&Pq$D}1 znq(kZNKVoy(s(* zl;_Kj=fWM%<1((~5XU*gWv+6IJ>Kyt8_bqxF^u(>t=iTd+8OM{VI0GG+^Nafuua;m z&D*(M*{wafLAU9yU1q*A%3Hc{Qhm}zhC2FkbR7YKM5=*&1Hgcb>T?h>Y^PDJO1grtHhLK7p4bibZ4QNtF6e2tK_SQPDa*P zZyh?NOCOm9FSdE+m@P_#p@#hbZ631Dx#vgoBJ0!G8!;AI2t9esw#G>RZ=fsp=P;s! z=+H;ipdIwno!%K=gLwISYHDfWelt`_Nli|1fLhI|`(ziPQ7>JhyoX9fS1xhwq6R*E z?XnTyc=@F(F-leDp(SN4rAWtLNs%Wj`2ytRZ^>!NZ5pgMUAnto*qr{ybx-VrgveHq3m~^Z z9=Qgfm$$Zb&@0>7uCmK%Z>ItDJpla{aJVpr(HwP8=|R6t@{XIFaM##br32$% z`$9WAgPG1|m*zN+K?WUsJ_}pK;+6owwhY4|sNU*JU*-@iSoNOoi>eS{%KYmB9nZMM~zTST%$KPv>58Ju**%;Wuh7l5*2xBl~k{`;(i8h zm@sBipmZaRvD<}8-NrSlstSFk6d6*6xiJRpaS;!~$L{x2jZjchQLCoo1?4Y5pkOFy z7*l0fZk5&6SZm!OK!TfYx$Ukrf1(N&Ek-P{iHqb@(?8TzPXk?a)y=C88fAisCV9)` zfh0zHlmFkFM&CN*J8BdmY8GMYCQjS5h@?%dlSDf~yi?SsLvx0tGa}PDS~8|FeMWYX zQQ6RwEu*tzT$e!R3^sRgd63@?a)N*l#<5&ub~h;ut~bPdAm;}uU&;%ntRQHGQ&Tim zMHsQ%k3#XV6gtY|NckMEfTI<1Ix=S}=3J$mt%NI8ayc3|y2qUwxYvE|_kagI zg9VqR;bsJ0sUw=UjBjWmo)&kbP1URTsp> z%LjQ){!_fyZ!rIQ>T7gk>#nyJ*CNXIz<^Q6*yzbB1|Trz^rWXX#ek3h*X>1z+x)Hm zvHvp|ipElZxaH^T9bGKjalz^Q@u3&|_wW5@Wx$D(a@H=!)pE1BJ9#*Jx_G&I2l!O% zTZx~ul@3S$%6Y2bt&*=Q{$K*Z1w#mh6b>~o`wtvFeyVewk1$%NK~1MgbcSSS8Id)8 zIgptn8C@nTClLKbQJxU;qBws_3ZS$=D1|^Rl#0TrErxr=LNAWi&~#SBi3psG$f-zN zsGN&YxK=gStKoHTcvCBHYvX+#e5#9|_3^8IemCG1YpIt6^^>GQQZ!5&Yckl9#hx6F zNK~%4I9z)bLt&^|+BRQ&!r}I9WI6sd$^dmcRYBx}A#7&d5S$B2XCYo%FSK43L45 zNsBNs2{|Px8HFazEMtKWB6Ns|YSV6*en;iX(`DPNMN>AdS*L2OzmKPhzx^{`ELZF8 zZhs?rl^H8`oTSO(#*3dIRHP{0ZdX}FKzVf;p*u`iHg>_Z={PvkXW-(_k};5nH&bRl z{;b)nP1!hsYy}II%$vXG(gGmb4FCXG86bG<&rlaiYIm`Vqn4A6yR0X;Z5pg-B{iNO~m zdZR|YtBawIuINqxgrdU%2t#)UAROZgM4;OM(Cs#TjPBQX!}o|ncL5+89R|PzbXNc- zV(h@mHf;s8$|^xtTkVcD*0^b{wXR!domaB#pX|g=$zhjWTnyc&j^;W~8!m8(FkPlQSGdMRU1zFp zkfEC_=N9)^)!k2qo(ClGus!~~J;7Z)B~6L^>7Lz^e~}c=AM2DCUU2c!OZmL=ioe(1 zD(0Pcg1ncev2^L0`{<)fKKZ1d&%PVdKN5@pKSyHtCBsU8{IOQ1Oh;wOa=9Ir9RHdM z2SR&9C}cus#G;f7gOLoa@~|~h5KtMmM=FAkcPJ9@2Wl&5@6`{%~s)pkpxH9);){4tGWodPc*; zQH+suffP@e6eYxBF=bMmW|oL)lajPBC}vGc(bm!tGbuwW%f|FcIoh4__Z#~w;F=X< z_M{T+tsHYERp{_krL)yy{-ioxtPu+*H3_v=ESS`$t99b=$ zlgT}{ct4&_93OPI=+p~lXpb=HHJ>UQQe=h zZ1Rgf{*Ky{3|##aEhd?Gn-zy94*W;#TjhoGQ2CIhpuFKKln)XQs!B^N4NO`+6><|) z>suar7HXrDTRIE%Sh&8P>8GE!1{mO-frdykRHQG)ijrZ1i5w=^bVRJhY?k_4uIoSE zXIzj+pq7tJM;?LU4?HAyGDGc;=M#$;UU=_~H~O_|HP~%t{&W=U z5unpMLArGd(Q8!1*y(fc!cn1{JG`VukkSEV9`SQ(Epuhr!3Joe!WHA6>sba;J zDN|-hxpMESP+_G?l~$`#Wi1qv^{5!OV`BOU3(Ib79DDKb>?a_0fQ-x$YC1=mn0&&@ z>Xej})0#9nqxa}rYJ>?U=rLfxaMR5&(o8cc%`!`u+2&H2Z$7Ps7Sb6s$Y7C0TD)sL zqK!TvvfXwXJM5sh(?{xj>|?EVJH_a<(`uY?Nzi4NHM-)8w5zUZ@~KZ{eC`VgU-?R{ zTW)D{#~s7mb5FYm9_ZNL`EKeqS<95w#waH=jY!I;nl;-iE$xjSJ@y%Gw6}Wo+AlGE z!AJq#$au|)3B*e9hLsYSQP9e$#K$UXIiVqbR*802MFNbD4pvt^?s{uiyTNKRPv9+k zTAijDI$29KyP4MN_A{&BJclm!qFUastsU++R@Z3NAHh?sSSKY)(3C3GS(!3)<;rzYp#lQ}!VpMEY9u71k&zkE z(2Pe%XTiWQ4il3Z3riF>HX9C(Xk1)&5)yMsNyW*?%p)gPLqTB?C8c^QDvPP9HK4y7CKJEejAF5fSgopUHc`7>jl-embb8}*>AT%pJstzE zSDVjgt>t!wVbtpWaAux=a=?H-QG&i;NZ%+) zKQN+Sl%hWv(?3cR(3Hml0?B|trcMqFWeI^9p(sZf%n3(%B49xzDi8%rqEV3;SP_d# z#KD?)R3-s7B%%pPuq7EyNr4@yXhs_BNk?-s;6Nr?kOfC_q9wWDL~cA!9ypU1t;h!# z^5b<1z?Fgsr4ZaGjCUvkcZy;<#o$44%%B83DT$esf)}MRi!$)0EFvfeACyNV72u1C zh@}#IQyH_V0zXtm9M#~L>WHTX{81C{Qme^H8@5oV$xjzDsn;NV_?!lfREF>cjT+gE z;Y*q{B{GGtXx5a=9KNPSlbX z-Gm z{vnI}xnpQlsX}jr(HM}B#v&n^fP!LtGmIf1Ai(H=(SH*Z@}IDz=V~?h#~gF~Z_%-2 z8K$M)Bel#Bu5GrF``q=P@clvpQH~ra5D+AJ^5B&zLsg*yr7N$|Z-Ik*+-Q%H-54o2 z1O%0ch$^tLmE+<rt`2j+faeys2;mvB&miqh+7%&)UHOJD820Lv}c8*Xqc9%UE!X;}|(%C$skO ziJi*E#A!Q|wQqG+GS*q)^8?v5F1f_+vdd~+afQ-VSB>+T&nWt~paWSHz7vcsi^7lI zv^9$&<)1#6BjDg7s%ZpiX(bsM)i5zhXw)bmEzPGz3$IqK{5o_V?tjs$B)EixRLjT+ zdlU^kxyi_EX;c_#C#6t2>2Z^K$iTHWp$obuTiuKYyMwStP>(DuA}GnWdIUuBKPxz- zIC}`XPW+qXv+X+ZJ<0d$34FMozf})eOGbG0PmW=rAL}o(;SL*bvWXTuH`$fWZZvjl zut$kK$=qOtyLMW#Pc6CUR-nDLt>6B-XNYyzpsUaNFHK7?u`{)^w9G_WW+8Uw0`^ys zIa6HLZ@wb)JFDa~q8iTqaDhH?TUR7QBKu~EoNp*9a|lV1>x#~h9MN@Kf0~__Y}Jl&18yDr2(pH3Ltr%p2vyF9`Sz=kssw*xT_h4#U9&78I z|Hj`xF4#WO~_b+nvu>Uld3n(;#Lav>%RN^mmQ8Q}NKT~dV zOdp#IE9`fmj6Sm_;tOo!zVOU$FKmh0;gx>dE8N+n{cW#KdZ(H;)RW%U)3$0syUmVm z6wfFZ`^#N$qI^0Zd-YlD2lsE zz*(aHpwS45Xj0iNtv$6jaRV5w+kYiTnagMr-qr?3T2)?VL;o1eGp$g56Ndo0L6MLY z+#HF|G|=`_8EotRa94{A@0l7~D5A}wCwuo_CkBd`R9f#}D08rbPB7PY>xipLi``KM zt8r1<>g?6pRP2dhp)H}Q_VpRWvz3}~`o7ezacN76t86wCu1PrkRt-Wa{gk~Z(WeED zoUqLZ<5O|(q7jfSb>g4d`=}euk1RKiNk-Dtm=RO2wAZBO^?56Y6Q`Z|zbw6R1xfIa z75YRWkavmobqO|}-BrR*e{&@WvwlGgGj^V__XGV3~9(itittC^hg-b@&a(xLf^F|}JQXb`1dA1o- zs$T5ik#HnSk92G0Xreu2epDlx=IGC8qE>4<$Is(@wr^!)mkP*V6R@D>*xGJpE-qJw zPY==8+>0B1)z#fSFT6KqrQ`BIW-O{RoaXCgNkNFt2+>y6GI_6@`k61=R;Am8=iap^ zePKSg>NDqM2_ewZ@QDz0aKHc{=~)vWwFH6>`#|8}63(lk$v5uqHoKyTTYa7W540Vt z#Pu#j%a@PW*;%t+QFBhi;ZT;UE?)0LpCh6-iON!01y)T}aO!-zP_=5QRzdxiN&b48 zbGg++A2$<~LQ!2`rMBKl%JYH->onxm?KG=Of!%c8NYL7 zf{`S>>tfUClW3?N>Hac5i+rPSdjvQEL_7c{%oYYzhx0EnjW2|c8rNR@gVSLhfqp3VewJP}^Iv?>fagmcs=yarM-5O6=u#Qo0xI3*8nWEhby#z>NR+00e5ZFTcnoKFAK3n+POFas> z^ME)-+>$gwg)a1;0%=kpj3Jj<5S)lS6JdFGyAF{5;$JKd2K=t0#MY8AYK2uvMBKoz z-HH2X0{9|tAxnmn9HXp4fnj)pCN@7Ka5yG37_{RR!U#hr4bd|v8PkhCa1sLxkv@;u zGiQK;Nmh8)p2kTJQgCbH={Y1!&Ic#;rZhQVGUA4$T!Lw?G!U)ElnVuqo&5+iD~1O9}qiact(Z;Z2Vez zS&{YBKG5Ksu;Zf`uZec3kr=M{wH z`@byF^dbfhDO1anr0zW}!FDGReiJBBCrew%IaPPq{CeXr7Y-sPFA;aZeRtNJL7hBK zx|L<3t*^}Ua95D<`eY{u0%dxf;lOVND<|bqQ;o(;?M9p-b!SHSi--8G&cz&UE#U3+H zURNOIZr7mpIk1kLpqI!592c-@!hKwXThtb-lp2+S=yi5QLhJ|5}HBF8-8ON zSAbJ02J!?ZpI!kQ9AteBZEGjQGvVhp!UBu!3h+)ok#iaB-Hb{_j8EcN%)D-y5FZ}q zt`8CdW}fjJ*f2d0PMPBlS-@e$fox2Ph4BF3FG->rG5JW2I85=2TuPXH^Ar0pk!P;| zki((cqcK3ye*qL2v*=s5Bo8nR&QDZsT*ld->G#^4L}~jh);IaE(y! zNyH?fX=F)X-)-x?r`>f511o@suA(RR>6y<`tWndtvW;Fevmm`28I1{rYi4BpZ zGj00#FawppV^(!fed%N;aTkq1i($3i++l=rgjrjn9it;7oRj_eAL6Eo`{|oDG8JGq zA<4HyF*?#bq}`^j0x1{IAv5F&F#Q_EG~H63Z6YYuJ(30(Z8By*q}(0D_K=b1A{ln+ z03?eZ5b%%j6p~>JEa4Jx+ve>eNT~C#0L2WNTiA2Mgu4fa^N6O1*Qc5QLPuQ8(r*Yi zyx;CUlW!)gBif8swl|CIMnwkx@xwq4x%-8YMvGFAUPUL2)z2n9>awHVW+4jO-eKE( zjU?;8tQ5LDHssObgR8LyqZ946ln$Tu?r^(U=#7epMJrc>SYy;PWujhBX8duNfEaqS~WsEkBxxCC86@{2B! z@=ADPbB)9H-sAeZMj6u;N!%$=Fl^)tKqujNv>38TF%B5ug_vT9- zqzVMj;t+Fm|7(b(=1FmR=#{IzaQ%s682m_s=xtR6l+FjIj0vQKB9~X%j-%!kXJdXV z8)sS2`ZU2{;KZ1Cx9?J}XjG!G%~In_mhWmT$@!7<@Gqq>K#YRDA~1i&ZLM$Pz&tsC zI^y280QG%DndK;-@>D;eeoFGyITZ;qUblK&lugX9G@)kGXJf)vv>Zb@LL4n=*b7g{ zy&A4jD2@$;hb;#TPTbX)7G83g9j0ttS9KyMw9{d?<%i6Zk(neu37<>`Y8qi?zWeAj zVTUj6K2!@j&v*Np37pua1$~OX;P{q(Sc#=C(yZ#0!JFQ8e7&9OuWaHQI7qksZ;V2DrXG>rTv> z9&Px#-jgV(9~#*9pELVhb6{E7Ku^oDCVBv@X?`-p#hx|vf+zw8E0T|M40L*v$WkQC zNkzAYiN(K#lIVvTTT?)UrMl_6mD;BJ<=J<_z)gZv<$YE~nCmIjI(S@`0Y02)hx83e zSWW<5CjU?Jym12O9hx=>mFD)T1zP|FXxhFIJ-30;LkvFGyMR?bgnSONXBe{PNrK7P z?BN{!+8%!Eoc3+Q{mUztW4vS_a?};wp8p~&&_YreETge^ba*o;hs{f&#g=gvlx;_Gn7yjCx?MBNl^{@4=s;TX90*Z(qiCnaK0E{){!ban#tk zRI)g+WnIv2I9ZFLY|dD5J#96OvQPX_&spD({Nn-Hny36%EG{lgn5{g9X|Y58q}4{F zh$<0u#1m~I&SVR3D_Pa}F~7Fa<1y=|Xa=>&@H|J{D*yilHur9_2VF z#V)368OIfcY=H)=OvQ$-Izoz|q*_#0jQ^s9S#}5hr#mRptg-C^Iv) z04~>c46}1%v?l|Q!k#bAAZRt%8rda^qlHuf&AIj`ffY& z6uh*|T=!JKGLcP_cB{C0`TwU@8W8PIEgyW}$S5h%rM5;d->X#aZCZIo+)fP%J>?%o zUMP!9j)NZWwac`_Xk_JjIOqO7qx`IZX^T?OWrZ2zW<7nBU~UHLR4U2y2z|bwtt9+Y zvraWuMV@t}3g!Y&sqPoLDyi-4W>6+OIgy0aLsl6)JT!HrcOB7qJ>K^cfZahS0!>Ab zJtX}Klde+TCYu8Np!77zz}>-s6LC)=QolO*_vwN3qP`1GCYxMddBd` zg7^GATa49n10F(Ehqzd%a2%3YNV!P`lcu<6w74Mj|#l>yg`Do$XlS~`K6dUp$t9C))FT9 zYnk13!6kwub&of8 z&WyEKomANn+MnU!r81T814~`x(rdf_b<5g?{@DZ2J1RP7&ep3ma63<5f>Kiq&|w+x zi^Q>d3ej24U(KI6_%QXt0($9dIC>cz2>B4V1NCZj_wKf%(&G?p<$lfZSabOMCDT_P z)CH93<-6U4w?k#s45AXIz`qzLdv;LT0i8Nm0NBb-@MMH{yWolmu2_{@VN}Vgq{S~h zsX=BL%5!k+qjII47aWs$_s0*}?&cwtxxc<+4v=#f;G|{`@^`@Cxc8`c$0pQbSInkU zb`l;y?hx*ZhV}ofNYe7iY9!R-dX0MjQ!M|A?Ml%?ROnu%rn}Fp=E#edTC)u^+&oYX zd3d%D;=@FHe))F=gQ-Tb!A}ky!(m{X`;a%)xrKa^qyz-Ej@Pc4$437r6x9HU1yi-J z6Fi>=obI)FrbNK*{uFWn%}rhZ%Ind`#g1}RoLRO7tk`nEXFYGZHZZ(g+>?J?L)$0i ztxRD}hVFZu$%FQE7^(*}ouR%CH&%5tD$jI!9UC7(fyB+jXhK|>jf?EVe!(&9gOkFr zYE|{Sv#X1wIKy1yC>(l@Gg=z%!d~&#^}F<7$EU=?nkqK%RX9L1#rPz6tx8?PbO@pi zZsPi64Yb|(oP*${su_~`MR`IXg&iw4^2m;ul#DDcUR5EV4jkLa3D+pmm|JZvh3jx7 zP*6ifwB*x;@z#)|`UAf@M>-R-r-I7$4F(KELMBmrIEZ7ZBw%eKj9Ocrn5l z93J>i_8_w)Fxd0!Mb8EUaFzD89Fy(|pjxc7^U7Y|FCn z%{iM!it-dhZb*J&5^}Y z%GKfNHbWPhir-06*;dccc`6tXv^3_T)vW?nLRznxL%`>3WL$%d=tSFfmNeJIHSmWS zn22U(uc^AWSDn!<%Mhr3+&hqyrwOaeyQ?#qv4!e=mA z^YY;20aZlKggrHv0c?=ZQMfyJOl}XHVS_VaZtsi`uccHx-aX(kipt@4!|sh>e0~v% z+}~@$V59}5!scb%Qk2-ytheJcq^SXuJkgHl3S=s9zi*QVfB_?@BTrhXE?O8_9#9QH!@yQ&rxj~abRa>$VJMIMQfCBP^TVFW?f@Oi^!8`kOC&` zl0k2_cggTKI02zZt?AXHSBc><1*ebi;9y{=3vF3g!Il?70nls|zFclTDa|WR5$zD>ixkZe~Er&x-6FEI8qM4Jt2^WtnPqgmrnvu4W<}qCRp4SkO%Ctl^ur#_l z1>O0zqn*k!G>WR-#E^|YXn zclJxU7e$u~-1>UK)0(Ak&%kQ6&!0Zs_zVmo4$SAUYu-RFCWP1%q@(o8b^2QsG6fxZ z|2i=%_kE1Z1plr!WX~(^sq@VPGZ0!asfAr{H@8^>g8%d9Em^AM$06Iy&r}*nIV5~G zC^1fvcFHI!-F6Q5Gu8zjq>O24wl%f1Rp{!5Wfz=%!>CwK1dN{h?NrNIv?G+bwHBbF zF!$zEooKVg>B`ixif{0ITE6c@8pvXv6&sVG_z@w(rn}cijBFqug>{!Y1{^lbC@K2r zHerX0$REZ1_V8Fg?+ZCUY{R!~^5)&ou4%vp**erdyRKV3h z|Ew?Y=tbqI{rd~dnKRJd^!L`XF_kQci4RXe&sf>w-7$N$xgdCj(Mx~r4iqd~)OI7< zp|(>%(F4S9o>Vyz1GzXE@oxG)I+zAmCa&ikL8DJo47dQ#H(O$>E{D*6Q){4Y>^IB2%|uyq{(U2kOoviz4#rxX0l6H~&MP=BL7c@joR_u0MhCFZsu!Ec&65 zHX9ZVie;ll-Qm0l!_|mP=X4YMar}5fUEd7R6N0mV)fTWjbpFVyIGl9T=N@ z^}8|E7$Xqmjg!tZq_e}4MwPZoPU=R4AC#L@G>|6s_*U?y=08v! zhGnd;Gv5#))$xfVSuxTAlRZrVi zk$m${+(`Oz!~!X~t>J`tWQKr}5~LLwR~RvEVE#}5G5!jV0D0)CkwzGAL*B+_8&KTW zuz?MeL|~f*#{=^cm7lv$%9{i@FW$zk?I01L$khswyI!G)K^nch85%$P=~t&to>XD&NRajd*`;=TS>Q*fRTZIb_Sz zqYOQQ9Fb4$i%pc%_O%b@sk|_-?(wW$wzz(;8LP16eIY^yN^D|{8x*sFsqwu6Rtisi znGm>+c@oi65q9>QI_tcmk9d_(Bp}f+BOX+FG}x7 zjAewR{0k&mI(JieXWu^~;@@!TmzjsFdyG@)sIiHz;M@!{&#z6w7eq+>y(ZvhGb?KS zNqH_ujrgHiex5SbB1wK9y?8c@`XJXapAS;yxQu0&Hd@RrAg7ltprlk9HY5gmOp$)z@`k6f)yspvT}-M(19hU6lPpXi$?N@p2f5EBB@+;`8qV#i2=msw5!2}6qtVlQ>D};$DD2=d z?R^#;gzRH4*h)futn7b;qjwT0I2UCB3<3|NuFF05)*j=`I&wC0B1lwbhuSjD)M}Zd zC6{3f|r@3p8C0El`mK&=FD& zm~@+C8av-sWZ`T&+MFrRrn0)MXYogagnC<@igL;%2b)1iFiA_fJ|o(Wb>S7LUgN*n zJbiJ<3fj5cJu;^O+IV!vP+~$EjcDd&M1A`*`Dq*D2T}=D5A89`48O^8_Vn#P z|K8kAoRW0YXp}IcXY#k|%e^}DIlPRUkVh%g0_yM4!87fdplv2m1XHsa(5x=9d+eIc z$@!u3ie}8&Zd{eLoo8++6*NyY(IcasN=NlI&$)_>>BekzwXuwPqLt!%o=kWRGrC=P z=thD%84hzevFfy7raDw=q|OS%yO&=wc*Pb&k-~vfp=o?=D0w= zHVwh|*4%!7c75LUvoLv3$dk{?Ug4UBCz`Z+dDW=9B<6Pz7H?zPbfXYG=+)?1Iu#Hp zyJytfX?4Hmq7R;-3PXU$&WF|UTjZ&gW2<2NFup+1)|~Z#$&feASFl@F{>2Q_kZbpJ zTO0$L7eofBVUQUQi;*_4)JiW^Np|LgMUgOGkFc!YCSRP6RHR0d+x!5%(RA9J+^>UK3;XWg zGv(cc9H)nlgV|;z?M5WnA`-Wrts?k;0w4<_1#cR(%R9GUPt!G@)IMH^h^*A8ROA3v zb4Hweq=WxqB>vxl6g^#P-r(Q-)Wun{Z$8q(#4QSc(<1-l?|rnDg|#pAGoNG!V&q}! zm`_N0O)V7i;DIFF45kvnZVSMUws8|{02znp#MA8qq8y~oY@ENprztCL6~-R@YTu%s z=UwZbhgEn?ymJk)$edD9u4E$9ydF_p|VmA3pe zWLk9esX}g+(kr%m2XdHgy+6abK8Ah|W>d7gY_O;s&DiFUY_I5UdX%NhK0@7s9@zIw zmEFRn60Rm$jHP2LQk1DG0W?(d+>|NjJSY9@-IoU|19Z?uJ^!NR(vBeY`z^nh?q}xz z7Jl>l-{J4sp@tN3KV+%bSfN;~E=?385JP*b`G}j{w$u=a+enja|7ODc?wiSPXpFyn z5jmNlEGE90lux@qsowHenR!J`#N-l1qJEYS=*!&_?QA>C*RmlCNj##*E$O6MNWJu1 zK5IsMy-7#EHu_Y~NPxu92Z1}_1c50fy#c%@BR5f3(-|EPUI?o)OpCsDEB$cBjg2(| zQ<7{d%05T^{uptBr{np$Xc9enUI=LrD?9+rV6raXLJ&Z~3whkuUy3` zuPot%Z_vKkL!rh$P40$&9P$hw=dPmQ4i8`1Zc1eD5hS;XYTi}<-QPGjyK`Jvub`en)T!mM0-55x&3aR;jbVo9j>4;RO`EQ_7J4-RBbrS! zD6J#;if?#EaeLx<=}UfQZ|@?d4}8|9OFe&);`hp?X*UQL>KFBCdRjGD{(hd+EL?9& z`t~Pc`8{|suz0CG&7OD~2#>vJvbyh9f;{(_&B=$5zy-+2ck80C z>w{+Ef8>f7yYsZ%v$xwCQw~8o-vSW`08;QeiVAO5j^aLpI@8b2e$VsEC~e;RoG%1i zK=x7n+zUtl_$V4FPWsPt6Ys6{*7tw5Do2{Ndk*UqJCvo(Qt>N8z8L>?B-wV<(p$C5 zc8Oco0lsPFb||~jgtM8uL^x|Cy!^HH%n7T%Z8b^GkCT<-3QGz)W6FNJTb{;n-|87v zO1(k2Mmc_9K$&`o7CQIt?~Rw}pH;lqsn0d%kZ)h+yFtcXeu0hTJY@WK?PGM~~^lS2E(Py*MZ>UWk_NWZWvHo!QS_m-Br4{*y>XI+o%qlb>G^>~Bh|(nDoK(lvZ-ep$SQbGpMN z=GVq$$`b*7dq~kI0MItWYtk!Ro=iCbJ$|@Zp<;5H5Od1PDz9I_^Dyyd-|i4Z_`jF5 zzay9J%;ehBnYL^gS+sb#28@zf$&1rs_-)wwkt$Umn63qh)qO<&N;j6@?`svKuNQX9 zUBqsd1BlJZw^xpK_ME)>pLOm0DERvKy+l538CCD&gXlrIqjUNKuNe|xs2L)ujjG0y zbE>^em~RmaIFrs~)#vkEa}1e1d>-XY%;n4Bk7&)P=xem2(SjPcYQl6j(IhL4Iw_rz z-mA#Ug(!qO(4iakm4`RIYg!G~s6l}b%?qxK`lW|2Pp46x@T5Rhb=-4sNw2(<7iWj7WNU?g0wAFoUv|^DgAl7D^fQ$zbQJ+Hv^x)Zr;xZUCG+<7h*V*qSB{=Bf3^DKgGSR1`1o{U5-FK!YZudwgG2i9DIe1 zVf9^sJ&vc{i_Ukd)y7v-rCJyo`=c%E)gVwm1@4QO9-5qU*vA0Xgdz+zasLz z_!9wqQ!B&wJ^8EL?4;K>p1+0!iN6AqoKE1a7uVJ+&k-*8vj0GTy7jyK;nvfT-aydp z!IHy8$7rvijE#VwER6kIp_%c0Qa?A2xuie^A(jvjZm+X0RcMyRPA|XS)-Gbjl%K2b z751#nQ?s|x440XpB$!+gt{sEdWn`oBu@`#dxiP+bMrITUt#Tzw;N`BK)DMzK7nMCxWTH{6Iy(+4G@Zpns|NyHFA$v0cmJ z4EFXZm;SW0-SouJC(1y@nKAk?cg8Gk+YA-dtJ=O&wY4niyK_MIQ${thACvft*m(u1zcN8eA1o9W96y+&00y1A{9fiYxii ze5^SH=-YXo7-v#2z#Z_$JNX7MA-OgXb&}7qQpDM79n&VZ1oyo|$$Lk`SdOIFi2`Gn4)K?GNSu~T@>`RqIMjaI*0=g(go*ZmZL;hEd zy87Sui%0IZw+>tiqX*L(O@wP1?2Q!RTA;X=NKx-#9TN>PL#YXfdZZ6NV$O#! zphl=Q$Bbsy`vyBtOxMnVkc&nrRE;azDMiEO)lM#;s^^xDR2oUhE-N1tOoe5Zh zgC@i!D!hM>bJq=Cmqsgpq1fdfSM9@fh*3)mJBw=54tKRy>lQiEQ2}5dFL|amhf*Ac z!6ad$%5E*5Q_Grz8#j~2Ac7wSFk)RhH){CLMUcv#vEYKgr_|Iie%23*(U?T*^|*%f zmF9XxG;&=dd)U>AtyO{G-P>=u_C;!PYKP3S5d1N^M=(9j#2;9wL=H-&g)nG zQ_nvYe5LJF3-rGCb#P_Je(;nhp?1^l4bPwt7GF#>*1vjmds|215S;8{Kp9jQ zJa(w<_O?e#gSP%{EOJEG@Fo+{{RU9a?3+encZIl9v9)=)Zjc`#%V;JIYT6Z2YfD!X zBRBx*YUCk&Oc%MK*PffIoIe^tA8fM#R3EtvGQ)Q+&4MH#Z-aD>$W4(LF|}#~wMlF8 zQFXy;Z(WU7lQ0oLLeAr#|DI3-sGG@lkkz2maZ_%vnXJ+#SohytxJzS#sAp&+lZi4u zd&%V6$QM3Zl4huj0Fj5R1n~_zEv-Qd`luYPiFh9ZjU7mz3uZyC`t@KzlL~xt@sH;JfkH$WE) zcxQQ1JHg$sz{WHZQY(CL^d0*V#MRElnp3j-#1%I{~Z ziSNEVeqncTBBU(Jmp} z;#o;$kmB$c>WTQHU zD|zqXsQE^@I*W?9(dvautA{Zh4;Uc~Uv&n9e_)q9=E0xA;fP<&4k4Vg0EG*GuF562 zJ<~l0TD&5(@^N7Iwt;UZC5NgUMb7fzuRz?NX%eO>;C&V22aP}dG$<5+sw0x{-xr=_ zA_{My>}Q~7koFs`BB?V^l%44(%_hao1tt^JRBY;z{ZM1}Lyx4%1P$ezLgM1O#wQbv zze|rD=l9S(Xy@+6Hw~ZXKS~*bD7#&*N+SXr<<)6R;A}VV zb{yvSaCo-|`-Xh1i#jrA>LJ(>H0lTpb{U1f908Ia`BZ>>IpwF@XiZD2Q4#%GD(W$; zY~rjvM5x3@8=6a4NAaEYzl{E4x$;H;kk@QuI ztHdGZ(`j52yEvw>MShJbTX6aJH>4{kB;~3>p;3f6i9AdTtbebqQ*K8~$4l;K2F*XrU0Z(01ix&4*)6x=;pdH2M~+;2T~@WLu;{;GW%G?G&fJY3 z2iB)WmxpWoGSH!kta-@Qf5-n?z&iTg(i){Ei63kA(9c7=)uI5Ln`XH!grUWh!(gVfTb@vEKkpIUgWt4tW-V$S zpiBsjamplbK}p_x=!ig%i}7Zd(DIhBwAFQdFh=S3`)U1PO`Sj))dw>9?d-e`PuklD zz_#2%#HYzhs~**eH@U2p4XgqJ#U)<$bB5I9d=U_e1YU~DPaLSNM@;30OpJKzU}kXf zHcZ=%O3#MA652xkyvzc|8{TZCb}(7pAH~2)M;Y|PB=RLXBs7*kEH{mgfQ!!wbt zKp-*scJua7bI75y=Zb=pAlCxor3uyGjk_~(ct*08?l(s#Zv0NTOT?H|9RE09#RNBK zFHy>3dRa-;pI=mB*~s#_%U6>qQ)derM{SL0lIXP#(&TnQ)y4e6rb~?vlrS~~PtheL zL-zu9Ple4-)Blow|FygG%uQO?=I@7vP6^A5m-k*qBb?>^VVfU-%=Zy@HC>h*tIegS zAt5KU$|IKfoXrigG*drENHx=9Z13ZL6>iE|fHFj-AE)wUW`ox^Hf8#bze~iLH!UYj z*MgL!TE|S8z#6hh#GFZL)L4S@T>h!?)`xhE8dkYt)`BvroNjVA1XTwPIyY{i^8Tdy zFOsymv4~+_m_yeC(ldipYQXo-L}-7Eq?bj=fPJ zuKj@%lhnQ{aQ^MzYDT6K_30nFIVUYFexuLN01`J9^g)9d0s8L(5YwR5VNycy4|1l68$V<=kJJh9j@KN30(oK6z5qP93l~MZn9*W46YuN&s)inrkEQmj8mJL~0 zdK(_IXC-RUaSD0u&#Q@)1$3#(X8k*zEx>wg9=wF}0uE;;3cw2gbyFBlZ^%p?x4gw0zpx;E z8WKh-0GAf2;`F1PltXinE<+$`aL9U?iPv>A6O1L_`+M@hLCmllm98b3QfiZcBY0;_ z3*m*RV3vXS_SRF^S&qtU1V_8vEHrA@-3!?L#IN!c1c>ssr)i$ZiVxzyzwN*h49b3^ z(zQ5JOdY|iOjj^|L^O3 z=k##4y|zPBRr5w8=u=os7o}m88K8PYA@?)@^^WR^6g*PV&9%}6@kkF0td(B^;8+gw37$zWFFIqdXVcascVO5Y!muP>FX5BByS+wL3T=~V>j5rCbGN(l8Uu+x~2k3v{4bjP1T| zmgiG`x_q*q^r6MzF=QtpJJXIJk42M9?hg{L7Vke99~9xH=kZrus7$gmfmdA7PZHe zYa$eZezS9rx}Fp#KrC>!z1f-X?nRZBN=cFX(Gv<$j0%GElvc}Xup1jG-ojA>l$ms( zkILiZN!-&>sKCUsrHYMb0ICRO7d|E{y5K5K!M2({X+!5e_kN-o5Bxzs5+hnY0_A~J|@V+7V_^I8W9qD;e!US>uedYdS_ zy;PQj5=a#aT&)~*(F7i;HfSx$ExMQL+c{YWNTXF}ku>Q)IOs=@sg&Or`O8GwCepkV z!-*93TTHW5PMgC)WCWHA{TSTZo5M8YW90q1|v6RH#U%@Yf^iZXL+lhHU{i~0PR;b`u>djY$9YpiQ7pWI~- zuKH5Yh#jJu72YbU3Dm)!eH0GINID9^k@Ao+`fmFEY#C_{ z>rq`sOB2VSHhpzvGai@k^3c83_+;31K{I*|#cK0aQB5`jEGG^*>Z8Gmn{14t7Vf9; zICk=L$aLSI4dXg9T(G;|djuRZIlK$C$KMG8iWJFiV5baPZpsNZQWRj6_1`Z`ck!u@ z{>PfQ929u%77br67&g)R<<0+_7z+M9t;wvWQY?EuRtsnP*NMMU|OW@U2mgmw znpIknlU{r<6cK(lk4>{(m2y*1)e6sj`ZrBI?7Ayh_~!ZhR*Dq+WtEsz4I0#__wqvr z|0o(tpGz-Im+$?h!iA%vtt>e;bjXVvz2Iq@Mh|eQPu_1ihxW?X!MO`t^O~WRKXGiZ z5S=%F)tYus|L7o`v9H3#sKUQu439Aua5W6~U7ZSzwQHga)d%6oO_i=5XdzC`eiP~+ z8d2VXVPP#r-iLP-62<@9m%H+jO?52 zM-V}7l5wO#(*9NTO{gI^!948b0^&HyWMDKHjEt1Y=s2-w0JHH7A;1k*w6EG@Edpsp zpvS6iGx&UYc21t%=kq=XIBufaNKP3H z-BXXsMCNF+-W=+i`66ga$Wk&>!s!nTRle-(+Tf*rL`iC@DYd(7%7zEADa5dC36-`#Mpn8t z|9!$rzmOcEm0Z{acjjMia61T+Zrd%m-h8HP1K&(`!Ksy(nET(D8PocC_M&a@$g3ZT zCIR8yH~ThIXjf+%t5;O-CRJOpgkaZIn@8& z`R9#l30ww4CAAh3n(Lra9b7cYBB@P-mjmHBZyvw!+5uub)9WYtkKN!bn}9j&E&x;_JIprN2D+B|n3Eq(?Mk$-nGM z7@c<-GawjKFoAkVITot>^}36W7|%Od|6ZUuPs`o!v|n)0mHdMY#=p17ghshET@hF< zm!(xLY^TKjEUatkF&23?#9zqyX&^9H&Pz91va_&Gms`LA`6|CF#I89MT16GX%Za71 zvHV*6b&jcQ{3-JD|ARaYarE@jByGU#Dr=TI&YAarCk9r@?>~81CidZaa8{0j88NG3 z_~3_DB>mGLZ#{)GMD_kKyHIUNig2)**8rqzFN#Ol5(H zdaVZCz%wr)rRc!LXGiS-m_Uz2+4zs_ZZ0UWBD`|X zJr)B*Z&5Z*Mqz$J!*&k+ynHL0x@=i}mDbG}qW)BYJFo`3_ynblKm3s%l(l89BkgD5 zaYac!-sw}XdH1QM=g(F+6+dBE!+6ga|24{r*N=l!;F)6W`)t@h`zoD1&_c!)jl|8n-}UcAC@#(+R5(PzfKsT(5IOGeKdjNu{=#ObV~?xFCB&2Ux}whEQKp z-BNNQh~2QnbmpbA^yO)t8*1Bt4JOD^s{3?ES;Pd(l6xxjANqs}lij3N#hZe{k4@`e zI$vF=d#c+G?S9E2hGxSKaK}fxX-8c>7f>d+h9qTfDoL4Ts7>&d$^_rQ^wmqID02!l2R-SqQf0Pbg|6!#IG?K93g|jWC*y7ebzRV?QErIsth2I zm_QJ3#>Vhop$iyazb*);zTDxmyN7umz!a|+Dr1zX-XBihJ>(#VmB(>-{4 zutoDyBXwx+mEFqIei#v*{N?n&fk<$)E9gpt`MqGCtFhbXcQ+dIdX4$+^uw~aIm*zP zNex;JsZIw*>E>80W{%QzAgNBHB{k^GQHD95`2Sf(VASZI1F7B1#scAn@K|8k?$m*v zp3&*tXNl9nUZ^CBH&q6NR%#CzsuyUg8w6m8+G7<~2Jog93bZ$P%NZ5JfTdoMv?@BH zhfePqQ5BVnO1&5`Hq04(n?xlxArn7hQg@+0p;EV2Tv|B#(!vhO(a)tv_2WT+&P@XG zD}(yT4@dV!_T7FS=@jiE6wxz-$&$4t$#o!iE%zdn5Ii0k@puFbjC4QlhJDb}?5zj* zZoWK@9|(r={ql&L!{@s=iiqRG;j@||=Hl^U;_3<0r&W&;OPHTF9TRQ|(rE&lAFbb3 zYdmxZX+HG&1IuO?-^|^RLftzQ*@nGFq<1lC{xW|d# zQEn=5@jI0hq*B#{PCjI*Fs;Npzfb*7p8A&n&rTBH>a+%Glg8wwa!~i??0?W-WR)e#^>zcQuh?ZT(FBF^ z4J?^DoYhus*^F`Fx?k)r!(d5pC1t*Pk!#MhG;%-`^4sj zxrRfUI94tojN(BxBPi$MZ45K3es`|30grI3F;?&tW2#IDgvW|(hjEzIm6anGZIatQ zyMQutWyHw+_z8KyV)NT^!j~H+d&}cBR&rmj)N2Ap40!CaN3WqL50fc>Eb^C$6wSod zbR*l1;AsD#5FVPgxpmgMb}9ymarxHoF3OpdJt1pkd9YOk zQ^9D}V7dXHW3wgl>mZq^R1+{aH#}<82jo$%CP|u`+CS+)XXm5?`%|R3nq-tKn}>Z` z4X@8O7iXK{_0>-?)wm}bcvH5$G}{hu(me4JfEs6g;`zD&v>-d09nSVqr1ymthmuI= zif`0k7AS9j!?RGn-u(ru$}YjwH{f$z&CM1ac@Fdo7d&jK72YkZt3}rNjFbV270FbJ zZjcKDpd;n?vlZk&7341gP-+Fsvq14>M;Uw4d0*rWYt9AQ3qETI^H`xj1icYCHQ6Ds z3=>7>?s=!!x#@h+bN5z|+W0)ADeCH-)@PtLRhv9i7Tb&Yi;&ZSoA?j*v98L*^J)`j z>|bg>XY3z&#eXJ=fG|S(l~$)SGV4KI1TR2EmRKQ+pclpUCKV-qEJPFp)b_ZSQd;&i zQSA!E{m!IrJYZLO9c9PdHt2hS6WPw}c?QZ=eAzi@iHph7(Sczjh7Y4dT=f0wQ@PQ} zB3ELGL^#<{avZI3*EUNk+I=a62GOTAky~`O7*+YY;w++1E@Gf=;Qy1_-tqqN3~(vh zt7<|n{TDjv*|1mU>#iW=`f_OS?b-T(hf<6Tif7?-thNRxiVQ2^<(C*_J}tMFvs718 zkEKq3@^KR3tr}$-=$h9G-O_jhuqG!?bcts=;&lC!>NPYQ(@Vli4Me9Z%9sCL5{^%qJ^}Rx9VbpnazYjmS9bVkiy&!K}fb@hB)@nFOhdxD;X`}T2 zOYe+1OFMsgKAko5?0H+;blgoW2Jchb0ZtTUQE_Tbd16#V>!Zl&7Fd#Gww~_IH%dC58;75RFYVH##w# z$y1K($`I#k6ERl&*pbl%aa;Vb^5U;t^Wmxjb!6JPpxKcM1sn}#vNZ%k&I|m{?KAC6 zKOv^r_m7K{#p3v?k>jHVD{Ce$+g;&1vfqPWJGZJh7+AwR93bDM`;>ZCtwYm2x~y!SGp3lnxb{QAnPFxHDfp|8VQ-tuGxQa}BOe>RpL;+ZpcR<3 zj7*LfveJYQSCr%yJNG>%)D5nSXpi>EYN}q*tP(ld^<7+1J}%hlb4v{xuh7@-#T_lY zt|d%U%i*zI10_Dd1B9AQ8n?FadJSvDvDTkTe8djX>&J^?Yv&glV>wgn>F>qvJ^vv; zcRg5E-_uhBV?ABHiMNSgR#V33ZCbkE4hvSap{J}KT%TKTEJVyc(XO zi95&v>|=Noh2?`7RY^?scjDC%dC==ohip=b*dkQ$-NgT-V5F0)7Y7jYp0lJv@8{4? zdk_@SU7#d^4!Z^$REok8Q9x*Pd2Q3F zT!1drU38Og*T)~>rg%;Fs?OY~N;aJ?C}vA5&4-p$HkCJ)r{6OTwrCcWM9{0tBBdT; zbIp(7GXVM5jjDJLwL;l_?d#tFL05R)&#L=Gvm;WL zD-uWG52$vrg5+HvLP+I)p4F}fRW5~t;gt*~bBQ7^YyrV8Q4qYNd zf;6Z-4u52?sQbMW=;t`cu`SSr@q+>Deuzqj(-<57DpE zV7#AhOf&(84z?%49f(ADlYP-njzQNT{!DIM@hvOR)?Cz>7b(c?Y3YjdZS>C@kZFq@I#+bEJ)rhtaH0vUlB0al9 zxhSCv?#0@rH=3t4yS1=Q5S8CCn9*cuGK0Gdj)sqUhW?r!m_8;m=3ZcN;DRDiX=GDD zp@QuBHLjpA_!J(O3{<;CL6Pe<499D+5fTd7BlTQhxTYxh#&26FdCIUc&|1(WTVPWd zvdnGzpd%Fk;PC!(t<50wFDAXpo*>fys;*Xf4OVq!=4@pWyk3Ay$xB`HpDe zTaHFKo9Wm2pp4lO>X#c#8<>8?(PPZ!d}X(u4&J2Gg+guN^(}9&?3&TU+kPx4gpDa-r^4# z-`!W&u!gJUwY7jv_`Bo~{Q&o}qTIi^jgq5#?KM&`LhE&YSNGN0bQ?V`*c(dU)+He1 z#~~Ls!)xZk#6c0{wKVj4Egx zcgirUEgf8GZ@h*HsQBAJXfI+G#pfS|@oCd#^>L8a=o9x{!>8Iaw>?OKS zDUAK|AkpB_JPiGZCbu%)T+$dVnMlN`CxoYIduZf+x`FuIr&9yOA>obed?PYi^u4q0 zpr!Dr5wjHfs??hNis<__c&!e`Ew=jDSXweKO=hdY^F;)^x?VrEz8 zVK!`kNiCS4SAO;kAv}g;rgeI?Tp+y0rb53{0ER)FRYCjTzzh}ceXrD zb9yb?-aP(?g{Wkd*9PCouR3TG#CE-1Iq$1pZj%d8mflp60N3ZEUWW?36+;Ey(9<++ z{p8ZglM$Oh_0uuX8y`C7Lw7n?`)`cl)v+t^VnZc#XZKG3r)KDbDYHylsPzkf)H6aV}k0f*&NVB2n0N!7wxV3!POT_mUDE;&IY9 z53bbk(zKgH=^=-);Am{8XYlx!>Ew?q#onqqoK@PN?pJ?dRqo3?Nb^ARrzu+3Pz~Es zPtBOxKlvUTMX(##jV2?r!ER_GI;R5E%Qx{s zx%1N|UekM*Xj?<8m1QEnMK^**bn1S~3d_V*9=PCd}Q;N+NX ze-eqDi&RS~>&4UW-%eRRMLLSj8W(k5ha)#vI(uXQdWZ;CjH)q~)jYmUq|A!xn#B%X zJD;uAG@{KN4u$%q(uU@h?|0*tD&k(+umn)uM6?@N4MvdL=rUx8Ds7DR-?alEnq^Iy zicSAGU*)?SoqnE^aG+~yn&R!m)KnzEck(Lk_KLa-mq9~sk3CqXiWl2CoSlD}Dp>79 z5hz$NyU+r-KqoAbr>w=Vn=&sdds^S!+g;y`3N<;x(I#i8?~C4v&%ILeJPsEsFN>z0 zrfD~Z(oa_u?TA2jSdQ#n8d%zu?)o_J@i@~qI{@@nSGc<6w>?i@IQD!(ePomx=78sR)uOi&GhKO#)G>kXo7dO9X)Y$>q_{guL zG7_VTcI7?=t0O?+#?b#4PJQ-kOL)!=v||r+56W?)1>AV?*Hg+yjW<`ecWb6K=PR^b z8Djrx_dnb^30!_L-QO^?V<+vKy6)P)%iHMj8$-r|qrJ0^e;E#0R4MXQxv&=T)bv!v zNi#AUd5}Jmem_KZ)-eFC7r&Jfknl0KJTqg}l-e7;>w884?|>eKx+-#l`6+a_KHx#Ofpwp_b%pUHCf)W&(WpLdOpI7 zio$)RddM8veQ<~A2z~kA6#IB4taHmiX@lfHKv+&5p zFL@je@1Mm;8+&~Clf~W0ZmIOe{ZA47F71cfS-$`RCsu?tF-f%I&5bIAn@VQJj$~KwrPo8NHVk9V9!J@$)*U43%a?V+l=J!R?c5KG%T+aZa(2;@v zqO>O%e3hpIy6P%|LZ&_66+`C@w{p za!l#Va01<_OR`?qwU&4XzA3wdXW#0O%=6-T(j?vFt|E24YvNphA>pv442G1=k)ZB< zwezXYgA^4&sVp|DnkEuE!P?XWpcx_t6hD|%LJ&uMGU zX)Csq{v|(SFn%GEe}Utl@n7xBX)U&!B0;Mt=dmKsz8}OtKMN`1mRXmf7-BK)+WXUJ zbpj2?3P&EHQx+%ovy6HgMS&yvWKO_Phe@*NGsFwq-Xm8Db)~eF_!tck#(tmEH?Xkn zIRacSPiE13ePiv^TmQ;k-;;c#S5O$ofj?VK7J#%jhtZ4bHOS07>Tx=Chyt9YDBS-7 zb-dN9o0nrR3_KXv3cTW-Uzrsbj%xt^>%rDw$&H}b3m={-cLcF-`B*Y}?D9S$f93$U ziFWbmJSuhG(TlX8Rv}m=60H*WFEVodq)J#Nu%w$O;{7c-asC8y<|N2QUe0nu5TL6Y zax9dyHiRzzyp3J5zR?5WZE9|0BYcUy9}+rN5X4Sj4!4?d8d8O;qzLC&K}>>7R=4NS z=Oud@Gr=420H4^$V~~Dv>@#{LbeE3g2sq0C0?iB(2%wop2-d3lWW3k-63x58Z-eWk znYM3jtM7;xO-X0c-`8WfkNY?EE&7v5)Nx zS5|`t<+PAmOAY=JMMyaN ztMRQo`>)=mry%Y^sXNaGw}$)sapQ6eTXs6%XYiJFeSKE^S*|~v)lzCcf3_Zl<=s@X zO@vRUIokMIz6+7KOk;g8>3Sp`L;aU{iqnX9ack;Tnm4cW-VwC&>a-Hk)T>JL;gY+} zYu-m!RVC?W)zxj@Z%aN}UT0Bmc)mfIr{F*5|77PYfu*i}#6I@B@Lh$eVQ zmhbY8wE*Vj0hOz}O1OpUw7?l-Pw;wJ&lySc)oL){1drFpu`qFgB*<2~i0z<}IE-vT zrUWVG(Zh@&vHil|f|Vpel+PeJfqY%gK+DxXWnbdw7IlT#2?aP@;KYKXJ3tiwr z@GA`i`JGVkV7;JV3-+?n!5&Gm}nqIGxO=Gmhk_W=b3$ zuf)n^0`K*}PhRAXy~c^pI?indr|4|mM&jDNu6&oCx&uz##=!hiaB!N7#Rq*x1Gf8} z8H5jwMAk`Jh~1ORb(5&S6G$H$1x^CYz>algg5I$HEqf~HCI(&LQ{ak<_!XS#=O0B`A6p@C14Sjbc9ck|$S^WI8 zpb}L}B65+~*OliP8_^ZHpLwl5;-mWHl!|QU3zbgVLLtp6`GRS}fBC8&Dbks9E#@%6 zV6iB1fv}9=tr=EI%~)<2`pE(`2-vw?z>YR9{G{H9(Q7hMCLsWY4i|Ds(Dm`cuqpoM zG`IlZ0z^g9%k=r9dc8mDV|tT{C-~{=>M3~qlxp>K7U5ygm^M(akrMW?or;i~guaTc zf`4(ogUwL>Enyn%xBKmQT!3Om9mfCm2!s9;DNJ%ag39Tbil%2c=|42lH75Su%lS3} z-!9g=Z0qU6ugCm8u1%R!QnA!l%>$TEF5$Bd;4v69rVv+oP@zA-%?y=%<~(yoSX(`RWmsN+;@XQ~2{F;!ZxY z@u%n0HnA%D4eof5H84?u!!H)mCb)0vLOEjADmLtW0k4u;AXRM98v5x*#H(E_=B|4O zNp5$<0#xR`81b4fUA~~%ho+1ff53g#EH$Ihr}XBaszJL0b34ABi-0lcWb~x!NrhJW zUsgYd%k<{lQo|}zSO_o&k8^q7w&UY7mEJj5D-gqDP|PT zslIO3orJuLMBZD_&-wqv`r$v!eRd`*kb9c}a--&#xh>kfOLoR4*eLEw_RYBI*2`JE zEIjF*IiCc>27d|5PwZFw)f}H@sGYP814MqfEn^~$GtAY)A@Vn5b4RO`tPt4LR~+56 zHWGg5d%;H@kI$fMfV8IQDydbT<=lSKvLkC)thGm$kt|w^*2w>39TiKCvesaUcy?PL z=X54W(18ann=vzve+E9xeqdwTVPL5JQRw}7hFO>Egv3A&19tAwb7*fBeoOZrqqv{r zMeoHgN>k~KilSd9?Y*$BMR;Kxhup;Ydos>*0z>_wtmr|ayQ*FK z*>0sTr=VG%o?ktGHVeV2{O7B$l!ah!zfub7uejKZjbxNL@wMx+wlSxDg!;{l@g|RY z+qhrHfyaF_&U%}@&m^2RBW`lBwpY|aV0FCh2H|#C9i*y`vE3Rm#Ti3YiJZy=bI9@D zj1k*fhXVawn10B;pZLDE4I|bDxW<0%f}H;1ex{Lr{%xsr@h#(I9-jDqWR}6LU)TF) zOitg47R5TpKuG?LaPbW0#qai1W2w{mteVB@r!ODxpa505f7b2bh?g%|^aqu8{>mB_ zbIq~kC<=4hB~I(m#r4o|t4PFU>)U0i*!-;!!Z$^3>~PI;{KX<7~JYWiit)6)DVfkTDeEDN54nDVvnjdye^9f z=0I~uU{>3e>Ak9z^1b@KioGk-V}Z=<{;EDuvN6A`prAZoBQZjU1WBttL6S=ooQE@K zEu>k(@e&_aNzN-RD5%K)SNTVYHxx6nzc@Lqu3p%6O{P}{_|<%6uw!ZKSFY1_xQJXv z2oHDC5434A8@_G%6ntSl^-{R{l1(ez5}(TYho(8TqoYC4I`f=e}vjA^ZXukj^hkelfGSv%eN! zGvx$H1d2C&=x>m@a&+#}x}0UHig!hMWYx%R$_=6kY5aCp;c}UJ`M+O5DYx|XPd~ei zoKWM~<1bCVKX>fA_Z?;qBX`+9H~IY3`SClvzh=-r+3Mdsusoryfo@*S_f{Mj;cNDxTq)CVh5>ooA2&vVn@WvuWL2U?UFL*nS9FG$Sv}EePj+Nnv>8mRvF>iN?s# zf3%_hP@phj0>-GZ5g8MR3?`nT^gw|b1z~o6cxzd=C)rrX!GR@D$P7gW0`(GBDp%^m zdauL--D2s0jJ;ZE!TvRV(X>T4c=tZXO-u2i_cAwH`1kEfk;8Hzq#ahpV{1x;=CT@!CV%mr0v})QDt|`L)y33T0+@=?+V6 z(6deR7%G9s@P5jG`}sPK8Bw%@hQ7Eyu9_>l*08RmeFH%<8x4HEJ8K`~EmN(|qsjiywp?({gVfV!9HZEMfi22aZx0W5sT_HZSj1d@>E+1d&(q~VUW_@|Ew%W>3mM8r@7m)D z%SPX#X5QTuJK$UFw1RA1u*%2*Ky|9kun^zh_ve&V&NCO?hwh8-Ptz_~<+AktW%_mI z#WdaEDyK#I>hp_|7<9Gr;^$ne@`ci{d~J_p6ja|M9R(Hdl|-t3qL_sus`clHyf~_V zt$e-KXjCqjpATRA-HD4>^Xl{QDI9^^bVHda5P>u*6ovLaX4RsV zArWn1o#vMw1WnS$Bag24H6WEsZsyc}$Np0uUj-kaI}SKXmX4P#Td{0NFe{g>#6!*? zWo+<bP0)G3Ikf-1I4U9+ z!CV$}7JK8MOx*weBg955Gwjys%bmGpf53j&b9l9H$(nhe#xe}`{`AOlly;+V1{5|j zqrKWSDdSuad-n&YghkL|ojh;z)YpWk{oZh7I_uF*4yTGe*xj6c4{Lvwn1?f`+MN#+ zmIN||2ORCEN)nmZVnT47hbR!RHI9xIzxMp*cKCHV_~(!NH%uUN*^6y=mYi6q@X1C% z*YD=6MdMH|2bqm9PHH2GLB%lW3vac8JZH^hCLd{AygksMq4~T1!I9hP^!2W6&K;Hz z%_pzg^K?;?y9x79Y{V0cl7|@VLy3`qH;Nx_B+sML=95YDY1Dbhe^%jw!HOq6D$`tET|qe_7OkMdv+q4ihxatBTc2cqW%Qwt=m3a4 z7aq8SJ{gWW;d>iKM&6r4(Yr&QhRo(hFPi#!*M248NO|WrJG&1!-m2*}@y{bM-UJs= zH_Kc}&Ul-RnPD!amOn%a)O-Xi&q_f z1?{WJ|00NU5|jcgJW=>2>q|OfiK*F>Qda-Uj6DsO z$|}iPt@U30;sekFi}l`52^qV(bn9EM5}nY_JHV8cX@F%E83y*ztJYwq|A+3mRhu$n z_F~n(>u`+{z6yG4&;A*`@1V6G>)4Y(s#)y$*7GS5vsMW=BMDRPlfz;$Tla0NL|PNz z*2oi7qmdey$*`Nzkf6!s%ows|3?FM}8nM4&%q$jJzu8u%#5an1+Kcjcv*WpH`$m(a&0BWB_Id%ZIGXz$3_q4O@}$xo2{GYlkY zLbG_Z!#Lpt^WDTaI_I;-W=lLFtTWDf$#-E~QY0AF#8-CqxYo;E`!fveto<2MyIzB? z{`URb&mht$+)VM#YU*EoP)|2VOXQtNq4`N#}AEIE1JtZ*Ighd;vu)GYcTHXJA zlmYVEM;q`gg#CQi9S2sZ3%xs!ivE@$ zKm9CFYdLHRm?t)zJc%K{Q| z2@bae=}&){sj1IduNgmVxbZ!o|NV^yhI2vvoj+7qIF!$(UkRP5l3xt%x9bCvpx9_) zHP}Qrr`U$(nj-2-JG9asQJc6nv>4|U*;oxmQ&1d`IQ00xsm4};BgI_Ol3J3PK6bXZ z%(cR5wK0Fyno$f^mmK748b!-E=cb9U!Zp?QKHtdhzKA#+QWZw48D*p?M9FDs1dT11Mkbdg2_{sx^}QA?=p zQZJvXEUAQNb1JK@jYP`ZX_U2eajCWQBjoVgFZAdbMAOpL$dL@jIVMV<{5AkV?MaC= zN-!9y%@z$QaxSi{RK`)~ND+HNL?b!Fx2^53(K z2oedg*(lec;-9kG(!!fafzTntJD(%qKK>O80*{O*OoC_Mxxpju)eS8TmYSh+aB#OKk z(jCf+MfM9Xo~xJ^iFIVTYz}^Lu?dkEg6iJUOwvr$O@&HO@R7;+!)}NpNEr5kHCC9M z?Hvbg0M+H+qSdN?4yRwGZpf+gS*_d$IR?$anAY4cB)9Jne&bLhw{FE>l3 z^3rCqOILMWQdQWrI?So8gluv{FjyKAD`4~rScUm?mPe$b%3K-~D`W*j3R?g`W6kHa z@(n{4)1n=KYv0-)1-Nu7P|CAjN=wtO0T_7~ClXM+Z}$~k>jO4{sfhcF9M~=I>zE6u?AyJmSaz^!I~kW}CfQ@)%_LLy0XzoZ<-DUu%` zxf;&FVT>|A1cT!9Q5Zjjh!}Pd$vt6rxZ*>ht8Dhw5H0R>oodeAWFizsAQdGHMoC2k zf-W^}LUQe-WuzPJ0QVd|jK_uW_z(^s2F}~nsxX);ES9>4Q9p{sGUb)?=(lL}8#D^x zEpE$;p(ylPi7lvJmHEDk9fYJ@*>0HtNy`5aS#WS==3xab2wCEZLH za=Hujg8Wla6Z_CYRBriG1?-PUS@kPGx_SYtVTF;7{a3$bV8DHE2mbF*=6nLW;197k z{(oxcSWe)aqGe0nfY^s^DB;9jK017Xk{VWwMnOi9UcUl+K~e9q?2QplzCNex$j^=q z#T_oY%{g7CkRmRg#bEJ`Wco!_sG#Zz8hxkAr|J1HkAxJurLOE$5W=qdKBJV&rM>=^ z){|fL7>&LQ$FmtszOl;x$~Iat+NL{Qa{1M19WK@qmo_;CvfSxv+$6$-2}S2mmB#bA64x22d*{j>D@W{vkkmPALm3p8QMo+WTFf6gk#@L@1s2HTZwl?jAaDRS3? zREtkJShDN)ZLhYS=FSh!M;`p;fL~&lVmkVB`a3XEiQRud-HSlVsW1hMDn}xE?Z3#x zw{MG{JQ1x87C)gUuL^oaJQq*|RPal3^WWLFF+w}L%kyeK z3wDL0aQHDe;ut!P?m=KE0)~h>SU400&l{E8**788Ii{P;K0kS+#&=Z3sr&t~_u=s6 zu&U*7`1^HO@S;nKdCetV6%kqmn@o6_l1Ui-sa+Kn5ylJ7eg@`Ell*bZ*($4&F)fnv z-=C2JrpB;G9>}SSbj0fh@4$qt8L(7&he^{5DuS0I|dV+fXewLopOn1))X{9CvblN$GVN%q5|<;OJ6^ zTMU|`IEohwLP0N*uzq1_MJ}C=O>-bi9*vI4fJb|;}PdJ%IeqMvV zMm@Tp$(ea;;=Ii`A0K@tD}3A?s)3U^vaRP@H;KN}lj$6Jr<*MHF1Gf}l1?eBtQ<9d zCNu~qoT=3}?%&Y73F-h;L)&V|G!;PVeS9dw1xh?_H;pgxwh=Bm$ zJ71SvJy4&B#}e`SIx95WXEiAuD(fJZJ7`roOiK8LG~>46?%A0G$jj-c!P+L?J8cJ% zzZiTXJD6CR^AUW!W5t}z{AiDrF4Iq`pE_C)Ym zY2k3lfr;*FUCyX(MU^`ZD`=yu=yr(9m~H2AkQL{>O!&$i+%b6~13pjcxMn<)G-><1 zvvN9Qcwy-?Fw2EJKqVNID_#)Q3MiqAItqadJu8g%A zwufmLTLY*7pW)%IiSd)KbvHkz{@Y7Gdi8wF{o@>j(>Hp&5^D>Wj4i zmI@QqJY+O(gnx8tx#$qfjK@1dx5xs;491oLgI=S>wj=|jWF>cU1ye)~AeeFJCwwUS zheY0w^Fj+f0!xw3#gLIufih%ZTj4-FOWmR}F2I?^MIGG(+k{4p24sII|w6V#~IQ)lO|Y%4la78IO{ej&>7fakG$(=1>0$Obed76?AMBIio&r`ia5|Il_rTDto+(xu z9p17yst-yEtz%-;$yyr{N)6^4A{De`vG}3f%9=I>raxnOf>!CE1mY9Xj1)GfpF-ZX zQV9ls#FS!^qv{jd>0tP1I}|wRC$+X~9p9Yl_8isi+<=E9Guul9fdsp&k+K&pVyV&gM{yO zvlSJtLQShN^KA1hX<@ad1@F7JqhUc-i9bytYfRzbtE>vhi-!ZBVS`X!%QTyrb+SbzwTl`S$q+ny9aDCR9WjVQ z&OJ)td!Oir%Ibn^<-+TD%gC9v7p!H<)19SQ9I|0|DFDPg-H5|v-~_1Le}3&D$og;` zAIWNh*9~(UN?yNy*YFWQBhZ6G1)m<7d*oyZ;QyK)G&OWVF!y)Z=u=*T05}mCLU6Xc z9zqfU;2oox~kXkPQ!+US=t~xn37aS4Jo!MGuPLdR-`l4#vj`qU=QM_tTNjk?eY1K(HIG z^KAGI#_u9LI}szDPI*q@*XshA-*DTXyo2$!hl@n@*)6en@C;-CgoNjD2Yt!w!-Wa% zWf>F4pjZ{>c5uG)%i@C(%y?X`R-!I67}lXr6~iwcew07s55R=6t^D=n91 z(FrI=o5EAbz&fk|@-js$tM*4b|8E||5o`Lm>H7Tu`@ve<3e|eQD=MDE`AC`H1m3Ts zczoUTC`|pjCg1zPESia~N!^skdE#f;jQ`vJ5M;-Y$qhmc9!FgOeK@bmxdUrT7&C#) z&}UuxFFuu7P47;&LEQoWFX=#fhzKZnMolzb3;VVZn%@LCr!Ad&1lf$yV!}seZ=A6g zW0&6@-FRigmC^s{FyW(fHcsDzvB_38Y3?@b`VM|uL%r+lt6xb!ng~VS+Env(=D|29 z;_@yXY7{@@$dVQtKRbpe%*Nl(JO0j{!Rd?E)2#EX@7+c2?}5)cFhJ-R8a76DV3P@m zB!<}}63={=*3^e1zwqs(5H)fJ$2rOAn)^@YW28981un&v{OkFebwaL%gdYUs861R@ zM7|Sq3=l~SsVa)H6&rcizAl^LlyvfUKEEFVf0(1&rBL)l5<@D9#53QEQWK;lHfx%PS@O9`($4us}1>A$Py95d=@o~0+AYvcqm(e1_Qu}rRQb)Gt-9SmTQ%$rh|%# zii%1q7I{*gynvMQa!Qk=S-BZ-%qKV@RnT?p;%{Iq@;Zkd$kN$^F}W{NZaa z=Y}c%$m9Q$bGQ}Rd(ol>MNUWsfSIH+yI}yBiegK_UXy^RJ48)QP3`*3v7Gr%Ehw9l z&n%3Zn)-#bP8%|NW|F+me)ly>v=J|fjB$b>l|_3-A_+=RNo zYopIqfCiw;uI74Mkg>hWj`ig=kszjYB1dmyrzLMk#d~2Al+e^=%n&n3A$HI3 z5*glgv7||2V{bF`jtHWOC4o4WIi*-di8`r89CMuDl+Sc?@^w9 z7KXOTF}#5xU>e3rL`rNbM0$SNP}*L$QC?otlT1Szoe&c6M3d6Agn)+O2OcPtt^5wc zlNnhNWmYYVXwR6L_;kO;jr!L!1bZLw$FcU=-`){HG_fQQ$6S`Mj1&%$!x8UG)tE?* zR;1URXGDZ&Tukq=pBEz2cpxB7%nK(tk(>zQ6gNmu1kogTVJdpM|93U&q)ut)G~FQ5 zkitSoC&59YmT9`{Ch>_29*+Reb_TC4!gyVy^{#nlfA?#*e}GdEAdrMy)+ z6;)EXAJ0B}r<`jw2_}avDmyx&sz;~T#yPx)2%`roj5mP4B1F%$oSWYFtoLCj&b}fi z{hp^YM8O-|LFuo1~u zC%^Vxs3PuoVnDLyL{CePI+%CVh7jT^Eb}N)Rt2)lmD(|11!7h3Ixy?9ajRndSDE3< zv%9OwUgiRZ&weN`rh+QszLpoFp%)waG?Wfa+2q&WD=WgAoVdrfEE`>T5glPzzK-5t z3vzyobI*pN!ZPwiTi#K_cN*$kO%HjOs=Y_S5<8H}rcy=XVts}?U)o8ulrdcPR#wKj zJueOSCnk({($;vLOk^U{MliML9UzU;VY2zx3Rzcjx0Dx?r`kRybH&@5(5(*S5LO?`9R;)y+vX%0SVkoF8&{V2YtwybT=;|s@ z^{)x?y{NqI{>gX#z7yrPKQ~ygKv9j4d@RL|o=zK5LA+P7V}j=@dZ=hdUTI=_#dO*v z#Z{eAX`{ayu4a10^vdbglN47geUQck=3~0e9wm;8PaIcPIS%0G6+4C_lViHoCm#33 z^_`GE#gkuZTGWk6J84@^UDc-c28EO8*VXLcOCK;W+x{ez9{_%mo06r4lq2Hy= zud`4MziZ3J0GMR}kmqyT?0{kx{9wP&`h`*bbd%Qq=z@rV^+Y*co$0cGkYE5%%-8;x z%fJ0vRRV(Vt2kf?5oB5V@giR2fB$rEI`Xy`vKj8fa9*}9RG%G=h#?>jEB*qSEX)Pg z3zEGX_g;w~`;kw+IoHMiOkf@OXTl3*rYt?xU2P>LLws*}Jhv6f%O_-+?AlqFg{})# zWg>YE1rpEAdp0yiap z0Ag3Tv!cmeiX_*Rnc5!;>u6W(#<_!vov3ui(_1{kgUL5y`q;_40=je*lq& z#se6PVO!8MX=c<%$cr1bHgdS1`z^-mw=9c-6iA%|y?UX$I-@uxDw8zho_v#Vd1+ZC zjG^bLvo@v(+CYiF)6GwHrQ}2@vOR@W4*wDwoz|+I9@G(9lx!N>(HKu1oXDkWP6kkC z1$EV^hfu%yJ@whvfjFXR1+H<=&$$Bm%t4bXp&8(yG*YOilCH29WDB8R1h2G(N2;OO>y@OPL+` z($vp%s`W2&P_NSLZmoIU-BS0wQ{=v!syU2y<@#)EMjX*}#DSe$N;v4?$tuAc;3{ci zu<@jHx3X4P?foB62byb$lX$<5YT2w>*^{{#)!O1ZdNr)Bo^>P@RZ&OwNzFjRXn?1( zm2-WzIWX1Khy~zIgw%a>s-`rZAH0w&=iyaca1oCx*JoQZ;)tdd{nk-;(D$_98?QT~ zmv;?>i^Z>U9cW%U!1f1}4!xV_PM}&>eouY2uY^OXn8l!SeYVAcYdZJjL7;bM2nML! z8mZ5LxVD{^EYJO91VAF!kku{F7+rxE9VIHIbvLG=siJp7-Dn-K z`c+KN1_drcN_DLGMp+RAPS1F;^eAm_25!(6ToF)Eca zF{>b0a7qSO35S|O-BWi;7J5VjBGz0p^`e|wJ^aNh7OX}G9IC-*(lU_LdCRb@UosTZs`(mSpy zVM%jlr_NC=htVo+aHu8PM#e0mW?eKJg<)wmcc#^9NYhq>A!SHAw6k!;E$%lbVx#-4 zBZIk_X4>W9x3m+^j_}>^-PN#=S;9NQccUQ;D_Abmk;=%{Z*R9;hTtUyxHDd!;mZJt zv7MzWC}(ppdoQNnQ_HL}9IFyLyX!{9m=6lk?PG3KDc(h!aly%A3F%{H^pK^nV-URm z{*%lts2`(7(*M_{YJ0*N>8#Q5=CQ>i#S>Mkq^@YnqKVOhcontgur*OI`2Ah?%FP>Y z8n^!YN9qQf$4A?WwG&r_lAQ_WGJL6gh}AwxIfqtoh%D7GDC(dQZCN&_6h(H(u$@RH zOV||3v%3)>(`~1<_7RfDM%>=astHbrBO4*&t8p^VXt|S~lSeUGs%%IUlBFu9ieUDY z1e_lIP}LWFCpX%#x>$knsx>uOprQ+!VzeyiE5Z|(Sp z5>`}J+)+uc{mfbO$}N628cHCtt#@ z*8O_l*N8B%Ilcy(UTg!QunV3EhN?xOdShg$YCXTZb64>p+|`KWu5%k6Dk7A-A(D1; z=%&3I*ULTsRy4YKkd*nFKya`9Gy8ss=}wJ)?rkjO>t~<0Yq6l4?9M*FiyiqtJ2T@Z z)0zHnzzqG)3l8Ms1${j5Rcww;*~`da3Dsx^ffsfGl(X}xR@(8>sIS0oPbM=xUHgUH zOzgCm{*yQ6I{=+a#!W%ID~h$ej|gn?_kcFE`Hk0YHJShvrajGvGtvMKv=Z0Mc)(hL zd6TS>jP1hgN(gL8y>HovrwD&0CVXdE&gZULQU=1LUk52Uq(vz7HYX z<*Ui~E_~XhY5JMNy@c&M?gwQ!?8kHy_yv2lo%@z+G3fea>c;uV+3*7Wy{J@N&65j| z2LAvpGD?x*4EJI9`05X(0CxuN+SO)soMviE(a0mz6#H1R>T9WpaClsSdD`N_6%*}@ z27O=XqcBiv06Hw_n%rf+>&M8%R~N#RBMK0%_z3R(J3vJZe3+)H*DKK8P4swBafiNB zmhF$r@02C5+aMVLT@Wi8x70Z~V3Yta~y<1~0h`%IQ1e6doGXL;8C5MgI zS?Wnfg1ndg*Ydvxty1Nqro405Mx<9dh@z&ed7+$7 z2%11>MRJ>n1`;7J2VLY5M_lHSJIwGwc8^l|Ac0Q|OdSg9k-5p*0oxK;ewkM%Ih6a! znAND0#laAeMorVN?$jV=o_JhN_B8J3{6z;9((^Yb2=y4^BOSDJs47WKengzry5nNU)1(h^=?NB~* z_Nt!!^ZCzHdY+qx46K^KxX>(4MZEy925i@o+L0~6cZVE)WB>JGrltzP%c`NDv2g zBh?^&7?~9w&`K2kK>ws%1-vz=>ca!_%QHUskc;VB%kGwfivQ`+9{Cv59f5E^f)jwB zD&*9{PzUM8$Xur|1UVx4M{-_4T99whtlQlHXhKH|BzDcJpkM6f?)rpY0drP;_I8?4 z&|B5pzHf^!WkO&Oq*ti0QYkzbWFugK>}%mp3Kj#|4dKf6@r6$SaFYD-y9EOaDX6bC z<-wY_?$wh?efR_0XsJF2k$2lNnp|9$AE(~$Pq>1PX!GOL^}NOSb^PkCpUeT;xtl=> z+cstZl|fu9vb@@5s||7T3gA>(gC{sXbw~THb(HPC)}3G$vC}rzaRSI*Pa->Z%{8a{ zj&icxXSQYBAna^|$$i$1cUghL_NIstfqz1!bN)kR-JwJIg(ySNfHRcei`Lc+N^Z%* zIW<+8ArlTD^d(^c-E*?&6L$EcMqZ$b*mo_GDUE_xI|H*kH~xjGat9gBX!!>a0;*NB zhpGcK7&fDrAG4ZXPu@AL<y6s&GQ5Qo-}j!b>O0Vl#9i`Vk7b4V2Bn|@s3TPk z6*gjuZL`?i7SvPf2)g;`8grEvxc&BC8ePv0S9tV4`OKPK8{Z(;MNBm@*~{3AUzFD? zFC)E}pWzFxFZ8kUg?I&T!pkPB$Mo2mv?>ROr~^ttQ2pr;;hRS>tA7_ZN|`G_Atz4;Lrw2^hMZT0nj~vcOOL| zaV@)R?`Y<+6!%J++oq@%U{AZX$v00nneFIrwl-t#^y1T=QJL&&=Rb0zgNGDa>_FpX z*6z|ahqK$R`PZm@6>~1Y@30jR@DkAh7{hy74!+uV9d}j$z=RG%E1leVzRmaf!JWSv z9e%?Gi;=$28a-t)Sfm6|=aCTwP4@{lM$w{4ujprtZ-lbg+0?Ig+apd>f#FBVY%>ss&qIFpQwIVg;lcv<|uw3x>`eL)gm*+IftII<=5ElY3|ta5hBg z54omn+5r?KI+n9W}vc%8IRgb(coiS&7~($E?rg67dJC-Q}co<6zFfq$qw1# zmMG;e)kzA=1Z#_6PZli&v{ek}0|u&fK@zJj=V#s55VQT7zJ)d7{l_MtXBbu6F&7MD zYFZT&tyT|wSj&U>M2Sa2@WKed(EeG-Jt?jOl)z2}$#;K3%k=CM4f^Vxt376eFB4!d z9wb0=UGni?lp&7}BQ@GBJ8yP*(EvRm)Yh~lmu$xiL@R?fczf!0gYgD=+e0yk4Y(sY z{z^ig!{cb{c!3n7i~%9jq5+thnhwOvk+T1uay1>Y36;;29SU1Avjs!?VLY z!3RFQNiS~DG6U^lNKyE9hBbh7I+PzVhh~BcJ@~)s7#d_VOAVWBRT|;*A3`5-lVlM( zkfcz|Xgzl;-zaG13!2}EtZ`FtmTy`{WZNJ$iUl1x)=(h!PPwWNu%KF@dU;S+p!_+C zYLy!{l}@XU%yJw}HwLpen0hB^c8O9hTHEG22nz3$70tWt_^mzuxoVof3+q!oz@bRO zs7V}HZKk)R*<{Oh4MIHEfrDV?-BmlC)Zk&wUdLav@9y`qWJfy2oRqQZ_#g>yZ65|oN46)_=W0|vKu)0o=GtwT(f9E`k zu-s+EVF3YPnMk#3uNK~OTDbk9>>2OMphdnpmq#Y|D{<7rP$1ZF{z`?xs!q3I#!(D3 z?IW0B7};5hE_C-8m`X7d^n~F2?0@a?2QB%p>jr`EpUxt($$-{k6}F& z4aeSJ9YZ5Faifn(S>2DE>r<`^>`m3}$~PD4oQzVQwwLkM>EXnM)K9)ZX=hDjf1+t2 zi6Tl7!NgMfdAAd%+B*_D6ecl;jM`{lvhQlX#OaYO_N9Iy}3M{#Rbn76{2QrAboq zS4t1oMz_xtRuB@|4GYZktxHsGrhfiRF-7zR`PG3doeWHp3tz_0uNOR(og4Ek)srz}YIH0xkgb{f0) zwkE+o$%tGNnbDG@!NX|w+vC>boEEjWw6Dh3SH^~_g2>tnvZaP7D2K^Z+QF^1vzF@Z zXXwY1*-+#RDKg=TT(M0YqJ|dZ#oo_t+qJ?P#o{SnxGrj?eSQhpnz*~)a9gVtT$>bxue)X$BN2@gq&aZ_SuBxYb zclEK_d9YXsy%u@m5sem47xXAfp3E60u}<cia`2$Rj}d;sD`de@GcoMiAA;BP`{OYnULAw-apE5sLId ziLmww1!`CeO^o1~B!wpq?{Pi!onM%pBP4kbUKQB&!B9wO{Q+|&3j}Wy z9v{JZE@QJyh?zFpoTDh)Si~7Sbce6 zV5<@P5+zDU+^GieJO;Qi!2I7A^vAC?l`(^c&y3I{Ra#BP$#>rW{J^AOAR{DT~bCG*R2l!(5 zt*&v6NXOM+f)55JWKrKWn-_%)au@sFeTb{XR=Rwy8G1Oo!$>JJx};eRnl<*Bceu+y{S7XdF6YfygAX91|B3FDqF zgqcs6AWKF?rjaadVd^H67id43yrQ`wO(-O%g+iLYrMsswQ_be284`^7<|8o=GBP&c z9wnW$9&#$(ln(I`T(`5XU+w;c1BCH=Z;1i&@f|~zE#mTnxPi$wHr9fI^$F(;i*vHU zGgqwk@}q`k`mi8+LR>T|W48&bb!a$bwqvfg{f=`T^~$rG(U&a()cfN|w+AOIsWb$i zED+^k@x~jSl8_hh(MDgRTTXhIYRv8l_Msl9i+2CK7$%Jh4^_{z4s4PL8tUon1C9*{w;Mi^oka4deF*@Zgzh!2yX zxrqRrPlu8_w`q(b82vOmVHg^I#$X0^y8 zB6vA;?d{lWNk2S@&qMpbs|~rXT)#uMd|?L4pg^m{>5uMf|Rft-qcC!pj0J;dDLA1yeC z894Hx3#!v?e5s8`A&cE^cgkhP2NQWS*-(ZuuU)d;zU)i@#&C#F_c2|Xt-RCu!uAz! z&=#3a@`2dHH6P3~e*;|TkJ$JBsZTd5YUjLhwNAqiX9ItMol-qy@m>`_&QCl5dyk194_Ta# znChg<)5stXGdQTE5TKyIb4%@ALTF2z@!~-=Am}$3Ay7mFS4J#|2|TmIMMS}g{%V|U zs5&f)x&$`Vt==EYC0%m~Q; zg#2M{Ozh7wA};O(LHBxf;S^Ba{BdMK7glE;O-gS&ucmCt zORr^&o+-V;JwNh#mu*ys%C=m18|W4`HW$GavqT`e)k=+R1PvTPV0!DD&CDXRu{R$eYwkIXVfLYasjItOG0BdnbH z6MUAcM>6QHP!F>_a*40KIze>{A8S)2l9i#{3VmwpOGyPhTz9{G1HWMY?ELU)!q@XC z{l?L7Hv-1$Q^xTS|3ieQ6-L0qUg5w<@OGq$V#}U&ku_5S-orkz!%`RjWp`O081NB1 zq_)4x3oCt(>j_EDp;o!=v1ZZp3N(qhI5LDM@+@(cnYb3lv*bTHp_=n51}uNvj(yuo zYk~R>%p(%#h3cP}V7=?a+)wK0_zBUHcCT+Y^>&Qg+X)|uv2=`ai0_&d<2$_65bxy% zwohSPxb#fjezDw1WN;D=z!Y>xaY(WXwz7eSB}Mv0W`=pI_Ib@}@&tHx6ZMx}yZw((gaeT0$HBm7SME9BI?UFmt{G2&&Cp*r+)v(`+bS)cU@VfRoj;)a zw;AZLdV*dYjyE7yy2fvgN(O?7)8Z%IM$O6JFoKSWr9kjA#2{H$uI%3qHJFUuPWNrw zh~hq|MFYZTETE~PD+~W)h^vbReOUh=5R2McAt=TYIo}oD_ z9NzB&Xt*(X=T6_S<5f8K^;Lkuf$qF5OfqSNW2 zwvcUFwgB7FfcoJP)7hY}f@a~|xG2R6zDx-w@|eng!fX+PS6gc^8s?2nIAr}uL#$)C zsw&X8p$^uoq|yL^!9fbwrxSO&vk=`E1y!8$b`9d-pnelF^=q0qyd#eBxZPfQE1JU@y1Do`7k9yt4c(i_&cCQZf(YS4e_cDK;=UYEE&QkTJ#VB zw2zZaq)Z}3S;tQEjSZ^uvzQ^EWH}IBeM=VnM^WG6kF%p+*kOcW7!&zl1mu3zo;vOy z??@Cc*`c;B`mC5OguDrD*4gYtu z9EH7I!I2bGUOq5LP4BxAsIj`h-zc}NID!2~Uup}SxMMamq+lS6lF_cvkoA9C8h0g9 zMr}%yJj%;o(ovJtj-&jfXQ~KgjOqn%IoBs$u;l?zrFMpZO8r?oN180|+JyQneBc_n-YnFY|(wQVT>R4VvX=5N55 zCR34!b7D zQ$RGlS7ExVQnL&P#%qu%Yp^~t>vv*{C|~R)ddOGjrx{_$6Or4JHJd>3iWT=pp}g*G z`EAyl1lTR1z_gm`-y0DKax-FR$_qVA+%JPRUXt-r56ez>-n{TKkB_srR2GV9p~u5P zX~%CGt2A8rD=aiAki+0JqsJ!J(lrvt->?v!HBuqplC^F9DAMU(k!Pn44{I9s~oP zu6HT&M&-_6R#A0KmY_OpR@meruS)e#lz4pM_41J|j8^IWp7ul)Tpa8#KiNfj{8gep zXkaHS`D(U6h{?yEXCw%Y{p7`+T@cLJLnQR&Pf|K1+dfrg;TvDeA!8b5_UAFmtVJz_ zJd@@9uWdu1-O9jJ54Qe2e&Kp6cIH4%6O4Lx_85VNs`ZBPJjO)cjefI^4ae9_eaja}{@VM}9azzI@m(?`+x-pEMA)79nxMvTi_ zwT~&Q?-;g`5;GXgswaeL?B?B-9pz_J2TsSo8Yx#hwbT}~%x9}E6V)Q-;b0ecA6bs# zUN->Owm5^KWD9w2n`DypF$>fllMZMxvNMONEsc|&=M6^4q{oee@31DVJOamDcTqqT z{=Yd`HT(EUF@JF9yfBH9)e7aECxcqKyv~Xfqo3U;b#6O`)nuyt0AG+UdUd&nzx>Ra z-pUL@Ej$c>207soE*>Bd@8=fDHy#4RznC`k34*%X+NcGjE^&zS^KlG8S!2R`Jlqf= zWlJ%#S-nm?$&8A2vR?TzxuRRACl?t0J#YbYmb?c;q)0QBd4W*8VQfCAnBmUeV5T7W z+xBrH{OOgChbRpFr~DfHXLUi_vRj4`}I>8&gi5YKihcA>6hMChuj`8T?^LE#PnLq<-k=exnE3CnCw`}-r_H>a-5+^ z8CDd&6YRZnTE*RaX4{yq3MtiK)L8c~YtD}~z6P!5((u)VM6@HnEq=8~GmzC9A!6r{ zVL_IUy8g6Mg%82;zlC;$*qT8ps|SWbDOzB?wg%f{Hy^yy>aWOH>?YzMdDNJ;cncB; zV`w)$X6J1x=a*=%xCqwB6@M4_3c};#h){iUIpm{hi_1m}7oE0aGzv0EJk?5X=khlH z_-VJHG4N~({&Q2RC22?Vb*1UoUWOoR>>Ra7gBxq%V~;r3V6dF@z?R>aBIY%s_*2S*d&>3g8YQby-XV zscdjQ5mn-l6hn_TVm}O4p}e&!wKXd~08xBJKw|}T6cfd79_LMC%E{;@URj=sdKjC? zVV>Q3M2CuS-Nee|Nvb$i^{2V=wQefS&~JGsMX#JWblVNXImbt%L#BxiJCYRlms{%( zF;!)T)egO^pS^X{RdcRCib%^Cl7B$WLdFZki4aP_Um(=b1X*5Hfn*B-x=Tu)Q$D zLAUgM99SO49=v?Q(X4m_^y9~gpb}|Ga+jU|g^E~^f%c-Y2xA>Yl2|fWs9tZg211*Q zyq__1Jpcr<1~W``3VBz_<+K3i0;kk9n^Q{Av_wgd{>WmJ8(^kFdeOnpC&N)lC!u4N zuK84{^w4y(KKj_>&QP}VzH7#Av0sHieQMv2Av?dCy$(=hfWy2bo3kCE9C#Y{Pn9a| zqxG>W`s3$Zpo`$ap%%O$j>i4Wg9TZ^BOL66k;jHCqmxsBM@fbMx5E9dg;ro_twXrT1n0(PNL= zgyT!2=#l6>Z_%8ur6|qn7QJ5AK_)#+2xV5QnEFK&sslxOO=DqGqJIZK`O> zAy?fR27<>7KcRB_A-h(%*m2xU+bUP|;+`<^&Z~}XT;?ZR(JqorIRNVZvk}cqq>mI3 ztT4A6Vfj%xCM%w0jiPO;q&WYWD6NaA} z0_7G2?}$)lucJ?V8K!1RvC+amfagnIvhhtrqvR~^`yREF*OuSCub*$8F<|d2p;Lk6 zmcTtk5hh0lRAu2NCHT(_J9sI%LWs?o&`ioy@rpQE3wouT%0v#2dxr-Lu0~4fAe(0F&Hyp-&_yU_C%u6Tc*FWI z(7cObe?Exp;lD z9j-8{#(_{gl{Mp1oqlQPXrULhGU}ySj*Mx&P?ucgtex^z{~Tra3a{F%mc7LWl>z@X zBsHxT{o*U&WvF~LlM z>7eCC_7n`qyp(l3lYE@;?nrX#%UUu1fxN4_i2Awe5(!{pPK7_tz_~?~q|FK4{ej&0 zOFwMNIsDwnE=>a_`Zy=(qA)O_uo^DLholpzA)ND-VHRfcXEWk8MXVSOL5`(EC3sjM zq>IH1LWP)p1MBzU`tn;GsH=SoOdmmJ)0EDOUk`}q3|LsLw;c~%mQ@#wT1Grp zMNI1}k%780a1UZrGPIvSfJO?$t4ii`C12wpZdX@4bJOp#6koQ4*DD}O;$@1A__Ynq zAR-rm^A0DOfPpjs>>z8uSt52VJ(}|blNWZHtrP^pm=C0l@sS-u{tPsgue$0QF;Fds zaMneu2!TXKHK*=VR$FYd|Nef7lkQmaY@uh?PIbi8HfXzH+V<(WMxFC}RP!}c@Y1O3 zA|m1L2;Q}854vYe_aIf0)`7c6S)j-e$MyN{*WPCxrek<>dX{;V_nBUOF@Sp?Y$xz6#<=ospQMXo+8r%!Fe-&ch-C0P@Mnh? zOWR2-UglV}anVrY%ZzzA>sA%Lw3x{9B$2w=kF&{#3UP`vHedRdw8E#fBykId>#xfyi+-f&}b*X^B{m)ERjIj3%1ZY znUd3*k^CNFIh4MlPZi04y|dEdyaz4x~-5kO6;dm=*-x*D&>*A ztGyDO7?oW5gUXOI+B&AZQfY5A4s3w!H<&mMIJy!>G!h1nru=V`@@Q0I;yd|eX4YcE znyPRwOP=j110-WOT>h{9f?Mjr2i7SWa_8_DeQ;ZIY6JpNpf}GKk`dsXCr!Bujs(KZZnEEIM)a%5rGqokssT4YUM-U8@mYjD;n3NJ`~qN6gAjbU0g5y?noKnaXp-l>!}gYhj1oZMPlV1^8R%+ z7r`R@fy>P2*h3s7xq=b-aePx#VZM;`MeAC?`~DO~>_o#k8UCJs`A$7mW4ATD^nnIn z0UuHNc*-qYk)=8z%mSo$_~9gw$Fi~ge#b#gq4%wIJ)!&Nra;cJxy!FeM)UJEH7;Mb zZ^^Dr(yei#;|9s!$z)5tV9w^Bg9kr8P3-Nj6rUoFFZ`-x zB+M}D`LCs7;4xsshm))r^JU7Hv+S6SXw#?DZ007g`0(d6d%juPHwX{jo4i{IWJRMf zY4&y!&r>~kb?G{`_q-o^@fp=~KfE4a=oFVs(^U8N1^h&INulIzPwHC$ws`J;K)|37 z3AsFM-eLHQuKr#y8mtWHmXc3ek7ldmJ8k5W=DgnTKQ0r$9hH8j)2X^J(tkO1ieuTm z{y1D>6vw8N7|7RfB}6S$X`CY)H)2i!nzjLnE+f+Mj2lL5`AKjv4L&AadPQi_Bf^7$ z5rUH^@MUs!OP3GOB~x}yTa%z3BZsfA10`!8TEg&g))^rq7%z(wBIIh79DE_NrU4IQ zkEs4VCBPb##J<}QR(6F(Ub&WDTDI=@o$@Og6vlyP4i->5$ImA*}?W`!V@x@F9!g+G^B#8l;e@)Fo1lMW86X8ljWzcVLqKL8qa zsxw&{*ZT9{?vRvozlv)w%dcKca?i|npN@O4&)@x{EwtltBxE(!6}c5=JoKIZ)qDKx z6Hs^#V}eOTJ2!bLJXPIo&A*It{O>-D0HMZ^V@|=PR^g{!qNyjfv=d_%+F)?*hG;IU3yx?G zn^kkPBB(laPx(%k)oP}1v`!1KIU-`BBZKJI0S>T{GLxc;aO^%d0wLUPi2vD;#(x&O zfHF+0w9LpdUG1<{pMmNEw2PEf2^5VR7{G7a`BQasi2H0LlQok~krJI~rorisq{w8S z$0Ik1m`b>!_ijFbPdxG13cSvLY6)mWmWG-~i|B8CJD+*G#xqg zu9UdFeEhw?`+oj;d-;I#eIIh-$d_0F`ZdLBf#y6iexk$+EB&J@;0;=TJX6iFL74}g z^JYD`xVbtxTK9DVV@jPbW$qMVOtnk3ZjInCidL>3VMdm`*z@La%E2TUe0a}8Zfy}>a7{E#xNAr(H{W|XL-Ty}beqos|RdoqnPhAVb5C*a4 zJ>6ZtUOwKhe_oy;B3X-K5vp37=Krz1bvll@2Dkmj|1tczyYS6#wg2CBgIAti`gTbc zHeMkFg<(s0ME{PVs{iX_GQzPdy|vr^eqgAwG9ke?Z_E~(iWJ9Ha;Hev zhyj9VjA~Us@6$0!h5F&4D_3izkP7-OdYUr6t>u1Y!VCI%S3%zsYf~Psyq(D3QK{wLT%<3387VE4e7S2Nu45j$Gec0r~3=eC0M%Ad_$HJzJzV5WqU=S z5pbWSo52p#AHT)^r({;yOm;ETHcoU|!EAw4GkpCjqTP081H-P=Yq3jxUMu%KlW%d2 zjH2Qk<@>6>QgB%L3j7G@!VUL8ZYIlK68L+!o1jN=SnmBqV5c9AbcpB2AR2hdCkmI< zvTn}8EdpY8RkobI*_!mYwp>9W_V$T#bqNvSr+)!x7HYEsPl#LM=1uFJkTI63eBuv& z?_zI!3{Z~YTe47^5jTkKnCsnUjw+K@(#Y@qZ8B{|GI{r+bIniPL8<)Q-OLBts1cgK zb1@L#?HH97Rn`nXO^OCpmN==;I8#3ua_6dJ|NaKn?%cXpYyfd)Gi>C&l`kf?5l;`R zbXh`+4^@_2Z!C&gd!1isgCy>J7RhfcD37T>r7Jliy%BMzQX2gSvRmVjFw$5Ze95C) ze8DnH)`{t5KBOW=d{?rX%`IRI|+EzA@VJb$ESnb5zkcWpiDNe@!^ zHyfROMfY^n2DUY_gbQ~EVNgyw39nTWdBd{zpX5Tfl&0_G2}X&PEx|eD*+v!#=aQJ} z2Dnf*>y2?X@QeEu3WxtLm-5Sbhe^f%nd>e9w}J_4B8Jxi4uf{CPH%sN`48k6{ZI|; zB-1z9#^knn)74Z6Nryw(t#QlU^yhMCCH+7)xr0U>hm@-RiHby7WzbUk~QU{ec5 z`(L~-J|=qfl6$=D9?c*#dfD=7py6)c%WJ;zo{VX@cw=>SY`6KIUh8u=jpc-HXXpoQ zOEtmovo6L+G4pllqq0Ry!t^rYU>IDPNg`+OJzNgw1-ij&eSw1yXL3#OhQuSOXkS&= zEpuo0H?s~T{+rc^(~_*V-sB>-Kr3_7DLo}KI@v_$j6IY*-m6`k$m;%!(l2I?W3?N1 znVo6ki$DHaMzX$?gww}$8(CeM0YMSgqwFaeqC%!^G0Em)c+CUEx_H5DZ6nd6=yxX) z7mre+4nOL%_#a6ql$&5e7G8UcvT%?Rz| z6R7nO2jiT+v={ps5Ze!t!y{2YxhsUHUSMK3!nNCV^(}9om|Q`X0DaWs52TEjJgv*# zz^9|?2$k=gdx$vRQRs+g)jc-4r?;B~5Lg_LTPAAdJOx$M)*`XvA%U{>XD?tI0*yA4*)3IBjAHf0AoNp>?Roi@DVmh1s)if2j_+aroMgRi%P91 z_o3EvF9z154d{ddAP%B~@k0Uz2T(gD0H}>$g6hcvZ30OU2eq(A;$KIaIu8GNvp^7dEJ7Z=dRCzjhZNeKJW0D@~%5 z8fef$JpTFHDICssr5FpHTwMa$MXt_aK%$alKjG(&`31YfO%!IN=Hrxy>JJq$dNv2R zXY5|*sqS~LcIep$C(5}X)h64=B%3wLD9lw&%v(?AmaOaNe4wHV7Wp!EfkirpXieaS z(P&&Y$()5cN%4V?uoJYLa45#hj=cRVhH`~mr749P1}#t5<(EbKggZTYsg=`naKlD4 z5Q+LDd*8$kP4$iSXkBD8Sh3)|8DnqpYD<8_!TL2`;?L@&h+;Xhh=guKgZQhln4aAE zdpstt&3u@&pb26QMEsO#IH(&=!#YH+Li`}@{7$m$@hSO9Zis{fFq$L61D|qKl=zdl z7Aa&Cfn~;3O*dnonFvbM_9cIWw1}{aQ^hdZmzIaE5DL7Ut01mwnT*+llPe}y`xZ>} z3bc6H^j3J)t2x3&W-=a2dJFn*9~BE;y!YnR;IaSp_HYy zVQ%jXwYtmVb=`zn|32sJ_{`-gZoi^cSDBlrjTMe}m#&VNj^mU216Lr{v*6ZOD`m0LVlnshK1U46f+ z5ZCJ^*|d4%M?XZ>kC?Pbg-jcay_(}H==W<4LGtb7;d^ceQ|Ic8z zioCnKgr%EdpOlFvvUbQ|(K0~sz_BrMaVZ6)Xj&^0Rz$yE4?G-pu$&GL&0 + + + + + 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..53c89ecb --- /dev/null +++ b/generics/contracts/contracts.generated_docs.html @@ -0,0 +1,289 @@ + + + + + + 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/dynamic_dispatch/BUILD b/generics/contracts/dynamic_dispatch/BUILD new file mode 100644 index 00000000..5285bd92 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/BUILD @@ -0,0 +1,66 @@ +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 = "dynamic_dispatch", + doc_template = "dynamic_dispatch.tmpl.md", + examples = [ + "ex1_concat.claro", + { + "example": "ex2.java", + "executable": False, + "codeblock_css_class": "java", + }, + { + "example": "ex3.java", + "executable": False, + "codeblock_css_class": "java", + }, + "ex4_concat.claro", + { + "example": "ex5.java", + "executable": False, + "codeblock_css_class": "java", + }, + { + "example": "ex6.claro", + "hidden_setup": "claro_contracts_setup.claro", + "append_output": False, + }, + { + "example": "ex7.claro", + "hidden_setup": ["claro_contracts_setup.claro", "ex6.claro"], + "expect_errors": True, + }, + { + "example": "ex8.claro", + "hidden_setup": ["claro_contracts_setup.claro", "ex6.claro"], + }, + { # TODO(steving) This example is broken but should actually work. + "example": "ex9.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex10.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex11.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + +[ + genrule( + name = "{0}_concat".format(ex), + outs = ["{0}_concat.claro".format(ex)], + srcs = ["claro_contracts_setup.claro", "{0}.claro".format(ex)], + cmd = "cat $(location {0}.claro) $(location claro_contracts_setup.claro) > $(OUTS)".format(ex), + ) + for ex in ["ex1", "ex4"] +] \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/claro_contracts_setup.claro b/generics/contracts/dynamic_dispatch/claro_contracts_setup.claro new file mode 100644 index 00000000..071be150 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/claro_contracts_setup.claro @@ -0,0 +1,29 @@ + +$$ +$$contract Stringify { +$$ function displayStr(t: T) -> string; +$$} +$$ +$$newtype Foo : int +$$implement Stringify { +$$ function displayStr(t: Foo) -> string { +$$ var boundingLine = strings::repeated("*", len("{unwrap(t)}") + len("* Foo() *")); +$$ return "{boundingLine}\n* {t} *\n{boundingLine}"; +$$ } +$$} +$$ +$$newtype Bar : string +$$implement Stringify { +$$ function displayStr(t: Bar) -> string { +$$ var boundingLine = strings::repeated("-", len(unwrap(t)) + len("| Bar() |")); +$$ return "{boundingLine}\n| {t} |\n{boundingLine}"; +$$ } +$$} +$$ +$$newtype Buzz : string +$$implement Stringify { +$$ function displayStr(t: Buzz) -> string { +$$ var boundingLine = strings::repeated("#", len(unwrap(t)) + len("# Buzz() #")); +$$ return "{boundingLine}\n# {t} #\n{boundingLine}"; +$$ } +$$} \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html b/generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html new file mode 100644 index 00000000..6bd2aae4 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html @@ -0,0 +1,641 @@ + + + + + + Dynamic Dispatch - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Dynamic Dispatch

    +

    "Dynamic Dispatch" is a fancy term for a call to an overloaded procedure (one with multiple implementations whose +signatures differ only in the types of args/return value) being routed (a.k.a. "dispatched") to the appropriate +implementation based on type information solely available at runtime.

    +

    TLDR;

    +

    The short version of this section is that Claro supports the following:

    +

    Fig 1:

    +
    +
    requires(Stringify<T>)
    +consumer prettyPrintList<T>(l: [T]) {
    +  for (e in l) {
    +    print(Stringify::displayStr(e));
    +  }
    +}
    +
    +var elems: [oneof<Foo, Bar, Buzz>] = [Foo(1234), Bar("some string"), Buzz("another")];
    +prettyPrintList(elems);
    +
    +contract Stringify<T> {
    +  function displayStr(t: T) -> string;
    +}
    +
    +newtype Foo : int
    +implement Stringify<Foo> {
    +  function displayStr(t: Foo) -> string {
    +    var boundingLine = strings::repeated("*", len("{unwrap(t)}") + len("* Foo() *"));
    +    return "{boundingLine}\n* {t} *\n{boundingLine}";
    +  }
    +}
    +
    +newtype Bar : string
    +implement Stringify<Bar> {
    +  function displayStr(t: Bar) -> string {
    +    var boundingLine = strings::repeated("-", len(unwrap(t)) + len("| Bar() |"));
    +    return "{boundingLine}\n| {t} |\n{boundingLine}";
    +  }
    +}
    +
    +newtype Buzz : string
    +implement Stringify<Buzz> {
    +  function displayStr(t: Buzz) -> string {
    +    var boundingLine = strings::repeated("#", len(unwrap(t)) + len("# Buzz() #"));
    +    return "{boundingLine}\n# {t} #\n{boundingLine}";
    +  }
    +}
    +
    +

    Output:

    +
    *************
    +* Foo(1234) *
    +*************
    +--------------------
    +| Bar(some string) |
    +--------------------
    +#################
    +# Buzz(another) #
    +#################
    +
    +
    +

    Feel free to ponder how this works. But keep reading if it's not immediately obvious what's going on here.

    +

    By Comparison to Object-Oriented Programming

    +
    +This entire section is intended to build up your intuition for Claro's approach to Dynamic Dispatch by comparing and +contrasting with Java. +

    Skip ahead TODO(steving) Add link if you're already familiar with the concept of Dynamic Dispatch, +or keep reading for something of a deep dive.

    +
    +

    Claro is truly a procedural language, and so is philosophically opposed to the personification of data that is a +fundamental property of "Object-Oriented" programming (OOP) languages like Java/Python/C++/etc. So, you won't find +anything resembling "Objects" or "Classes" in Claro. Additionally, Claro is philosophically opposed to the complexity of +inheritance, so again Claro's type system does not support it.

    +

    However, though Claro takes issue with the path OOP takes to achieve it, the paradigm provides some obviously useful +abstractions that help programmers write very expressive code. Of particular interest in this section is the ability to +write code that treats values of distinct types interchangeably for the sake of dispatching to procedures that are +known to be implemented over each of the distinct types in question.

    +

    In a language like Java, you'll accomplish this either by using interfaces, or by creating subtype relationships +between types using inheritance.

    +

    Using an Interface "Type" as a Procedure Arg (in an OOP language)

    +

    For example, the below Java code defines an interface with a single "method" that three classes implement.

    +

    Fig 2:

    +
    +
    /*** JAVA ***/
    +import java.util.List;
    +import java.util.ArrayList;
    +import java.lang.StringBuilder;
    +
    +interface Stringify {
    +  String displayStr();
    +}
    +
    +class Foo implements Stringify {
    +  // ...
    +  private final int wrapped;
    +  public Foo(int wrapped) {
    +    this.wrapped = wrapped;
    +  }
    +
    +  @Override
    +  public String displayStr() {
    +    // ...
    +    String boundingLine = Util.repeated('*', String.valueOf(this.wrapped).length() + "* Foo() *".length());
    +    return String.format("%s\n* Foo(%s) *\n%s", boundingLine, this.wrapped, boundingLine);
    +  }
    +}
    +
    +class Bar implements Stringify {
    +  // ...
    +  private final String wrapped;
    +  public Bar(String wrapped) {
    +    this.wrapped = wrapped;
    +  }
    +
    +  @Override
    +  public String displayStr() {
    +    // ...
    +    String boundingLine = Util.repeated('-', this.wrapped.length() + "| Bar() |".length());
    +    return String.format("%s\n| Foo(%s) |\n%s", boundingLine, this.wrapped, boundingLine);
    +  }
    +}
    +
    +class Buzz implements Stringify {
    +  // ...
    +  private final String wrapped;
    +  public Buzz(String wrapped) {
    +    this.wrapped = wrapped;
    +  }
    +
    +  @Override
    +  public String displayStr() {
    +    // ...
    +    String boundingLine = Util.repeated('#', this.wrapped.length() + "# Buzz() #".length());
    +    return String.format("%s\n# Buzz(%s) #\n%s", boundingLine, this.wrapped, boundingLine);
    +  }
    +}
    +
    +class Util {
    +  public static String repeated(char c, int n) {
    +    StringBuilder sb = new StringBuilder();
    +    for (; n > 0; n--) {
    +      sb.append(c);
    +    }
    +    return sb.toString();
    +  }
    +}
    +
    +
    +
    +

    And so a Java programmer can write a method that accepts an argument of type Stringify... but in Java parlance +any type that implements the Stringify interface can be considered a subtype of Stringify and passed in its +place:

    +

    Fig 3:

    +
    +
    /*** JAVA ***/
    +public class Demo {
    +  public static void main(String... args) {
    +    // Foo, Bar, and Buzz are all "subtypes" of Stringify.
    +    prettyPrint(new Foo(1234));
    +    prettyPrint(new Bar("some string"));
    +    prettyPrint(new Buzz("another"));
    +  }
    +
    +  static void prettyPrint(Stringify x) {
    +    System.out.println(x.displayStr());
    +  }
    +}
    +
    +
    +

    This is a very convenient abstraction. However, in Java this single method implementation must handle multiple +possible concrete subtypes of Stringify (in this case Foo, Bar, and Buzz). Java addresses this by dispatching to +the correct implementation of the displayStr() method at runtime, by dynamically checking the actual concrete type +of the object currently being handled. This is already an example of Dynamic Dispatch. In Java, Dynamic Dispatch +is the norm.

    +

    Requiring a Contract to Be Implemented Over Generic Type Params (In Claro)

    +

    But subtyping is by no means essential for this to be possible. By now you've already seen that +Contracts provide a mechanism to express the same thing without resorting to creating +any subtyping relationships between types.

    +

    Fig 4:

    +
    +
    #### CLARO ####
    +prettyPrint(Foo(1234));
    +prettyPrint(Bar("some string"));
    +prettyPrint(Buzz("another"));
    +
    +requires(Stringify<T>)
    +consumer prettyPrint<T>(t: T) {
    +  print(Stringify::displayStr(t));
    +}
    +
    +contract Stringify<T> {
    +  function displayStr(t: T) -> string;
    +}
    +
    +newtype Foo : int
    +implement Stringify<Foo> {
    +  function displayStr(t: Foo) -> string {
    +    var boundingLine = strings::repeated("*", len("{unwrap(t)}") + len("* Foo() *"));
    +    return "{boundingLine}\n* {t} *\n{boundingLine}";
    +  }
    +}
    +
    +newtype Bar : string
    +implement Stringify<Bar> {
    +  function displayStr(t: Bar) -> string {
    +    var boundingLine = strings::repeated("-", len(unwrap(t)) + len("| Bar() |"));
    +    return "{boundingLine}\n| {t} |\n{boundingLine}";
    +  }
    +}
    +
    +newtype Buzz : string
    +implement Stringify<Buzz> {
    +  function displayStr(t: Buzz) -> string {
    +    var boundingLine = strings::repeated("#", len(unwrap(t)) + len("# Buzz() #"));
    +    return "{boundingLine}\n# {t} #\n{boundingLine}";
    +  }
    +}
    +
    +

    Output:

    +
    *************
    +* Foo(1234) *
    +*************
    +--------------------
    +| Bar(some string) |
    +--------------------
    +#################
    +# Buzz(another) #
    +#################
    +
    +
    +

    And additionally, as Claro's +generic procedures are "monomorphized", +there is actually no Dynamic Dispatch going on in the above example. And when you stop and think about it, why would +there be? As a human looking at the three calls to prettyPrint(...), there's zero uncertainty of the types in +question. Unlike in the Java case, the Claro compiler actually takes advantage of this type information as well to +generate code that statically dispatches to the correct implementations without requiring any runtime type checks.

    +

    A (Not So) Brief Aside on the Limitations of Subtyping

    +

    You may be thinking that Java's use of subtyping makes the language simpler because it allows you to avoid the use of +Generics, but this is debatable at best. Consider a very slightly modified version of the above prettyPrint() function +that instead takes two arguments:

    +

    Fig 5:

    +
    +
    /*** JAVA ***/
    +public class Demo {
    +  public static void main(String... args) {
    +    // Java allows **both** of these calls - whether you want this or not.
    +    prettyPrintPair(new Foo(1234), new Foo(56678));
    +    prettyPrintPair(new Foo(1234), new Bar("some string"));
    +  }
    +
    +  static void prettyPrintPair(Stringify x, Stringify y) {
    +    System.out.println("First:" + x.displayStr());
    +    System.out.println("Second:" + x.displayStr());
    +  }
    +}
    +
    +
    +

    As it's currently defined, there's nothing requiring the two arguments to actually have the same type. In this trivial +example, that may be fine, but if I were to actually want to ensure that two arguments both implement an interface +and they both actually have the same type, then I'm out of luck - there's no way to statically encode this +constraint in Java!

    +

    In Claro, you would simply write:

    +

    Fig 6:

    +
    +
    #### CLARO ####
    +requires(Stringify<T>)
    +consumer prettyPrintPair<T>(x: T, y: T) {
    +  print("First:\n{Stringify::displayStr(x)}");
    +  print("Second:\n{Stringify::displayStr(y)}");
    +}
    +
    +
    +

    And it will be a compilation error to pass arguments of different types:

    +

    Fig 7:

    +
    +
    #### CLARO ####
    +prettyPrintPair(Foo(1234), Bar("some string"));
    +
    +

    Compilation Errors:

    +
    dynamic_dispatch_EX7_example.claro:2: Invalid type:
    +	Found:
    +		Bar
    +	Expected:
    +		Foo
    +prettyPrintPair(Foo(1234), Bar("some string"));
    +                           ^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    But yet it will still be completely valid to pass arguments of the same type just like we wanted:

    +

    Fig 8:

    +
    +
    #### CLARO ####
    +prettyPrintPair(Foo(1234), Foo(5678));
    +print("");
    +prettyPrintPair(Bar("some string"), Bar("another"));
    +
    +

    Output:

    +
    First:
    +*************
    +* Foo(1234) *
    +*************
    +Second:
    +*************
    +* Foo(5678) *
    +*************
    +
    +First:
    +--------------------
    +| Bar(some string) |
    +--------------------
    +Second:
    +----------------
    +| Bar(another) |
    +----------------
    +
    +
    +

    And for the sake of completeness, Claro's generics also allow you to explicitly express that you would like to allow +both arguments to potentially have different types:

    +

    Fig 9:

    +
    +
    requires(Stringify<T>, Stringify<V>)
    +consumer prettyPrintPair<T, V>(x: T, y: V) {
    +  print("First:\n{Stringify::displayStr(x)}");
    +  print("Second:\n{Stringify::displayStr(y)}");
    +}
    +
    +prettyPrintPair(Foo(1234), Bar("some string"));
    +
    +
    +

    *For the sake of transparency, as Claro's a WIP, there's actually currently an open compiler regression +that broke this functionality at the moment. TODO(steving) Fix this.

    +
    +

    HOT TAKE: While Java's support for subtyping may seem like a powerful tool (and sometimes it really is +convenient), it's actually explicitly taking away type information. You in fact end up with a +less expressive language as a result of depending on subtyping.

    +
    +

    Values Of Unknown Type

    +

    So far we've seen that Claro programs do not need to resort to Dynamic Dispatch in situations where the types are +actually statically guaranteed to be fixed. However, it's not that difficult to conceive of a situation where a specific +type cannot be known until runtime.

    +

    For example, consider a simple game where different units are dynamically created throughout the course of gameplay. It +would be very convenient for the game to be able to implement drawing arbitrary units without being forced to resort to +painstakingly hand-write rendering logic for each unit explicitly. In fact, the below video demonstrates a simple +Asteroids game written in Claro that accomplishes exactly that:

    + +

    The game's implementation contains a function with the following signature that fully handles the game's rendering logic +(see the game's full implementation +here):

    +

    Fig 10:

    +
    +
    contract Unit<T> {
    +  consumer move(t: T);
    +  function hasSpeedBoost(t: T) -> boolean;
    +}
    +
    +contract Render<T> {
    +  function render(t: T) -> char;
    +  function getLoc(t: T) -> Location;
    +}
    +
    +requires(Unit<T>, Render<T>)
    +function gameTick<T>(gameUnits: mut [T], gameBoard: [mut [char]], spaceship: Spaceship, onlyUnitsWSpeedBoost: boolean)
    +    -> tuple<GameOverStatus, ExplosionCount> {
    +  # The full implementation is too long for these docs. For the full implementation, see:
    +  # See https://github.com/JasonSteving99/claro-lang/blob/d6177ff8719e894f709c42811bd0b7f0a3d6c4d9/examples/claro_programs/asteroids.claro#L121-L123
    +  # ...
    +  # Update unit locations.
    +  for (unit in gameUnits) {
    +    # ...
    +    Unit::move(unit);
    +  }
    +  # ...
    +  # Populate gameBoard.
    +  for (unit in gameUnits) {
    +    # ...
    +    gameBoard[loc.r][loc.c] = Render::render(unit);
    +  }
    +  # ...
    +}
    +
    +
    +

    Looking more closely, the function accepts an argument gameUnits: mut [T] that contains all of the units, including +the asteroids, the player's ship, and any missiles that the player fired. This function is able to actually handle all +of these unit types without the programmer needing to hardcode any specific details about them explicitly because of the +requires(Unit<T>, Render<T>) constraint on the function that ensures that whatever is inside the gameUnits list, +all elements will certainly implement the specified contracts. As a result, the function is able to treat all elements +within the gameUnits list interchangeably, even though it has no knowledge whatsoever of what types are actually +represented within.

    +

    To make things even more interesting, the call (see +full source +) to the gameTick() function, passes a gameUnits list defined to contain various different unit types:

    +

    Fig 11:

    +
    +
    var gameUnits: mut [oneof<Asteroid, Missile, Spaceship>];
    +# ...
    +var gameTickRes = gameTick(gameUnits, ...);
    +
    +
    +

    This goes to demonstrate that Claro is smart enough to actually understand that the type +oneof<Asteroid, Missile, Spaceship> satisfies the requires(Unit<T>, Render<T>) constraint, because each variant +implements the required contract (if any didn't, the call would be rejected with a compilation error).

    +

    This is Dynamic Dispatch! Because the call was made over types that can't be known until runtime, Claro generates code +that will perform the necessary type checks to dispatch to the appropriate procedures at runtime.

    +

    Dynamic Dispatch is Rare

    +

    If you've made it this far, then congrats! You should have a deep understanding of Dynamic Dispatch in Claro!

    +

    The last thing to mention is that Dynamic Dispatch is very intentionally something that you have to explicitly opt +into in Claro. It is slower and more complicated than the typical Static Dispatch, and Claro has been carefully designed +to make Dynamic Dispatch a rare occurrence as it's actually only necessary in very specific, limited situations. Your +takeaway from this section should be that while it is very simple to achieve Dynamic Dispatch in Claro, it is actually +not a very common situation that you are very likely to run into on a regular basis. But when it does, Claro makes your +life easy.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/generics/contracts/dynamic_dispatch/ex1.claro b/generics/contracts/dynamic_dispatch/ex1.claro new file mode 100644 index 00000000..c93e5ec2 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex1.claro @@ -0,0 +1,9 @@ +requires(Stringify) +consumer prettyPrintList(l: [T]) { + for (e in l) { + print(Stringify::displayStr(e)); + } +} + +var elems: [oneof] = [Foo(1234), Bar("some string"), Buzz("another")]; +prettyPrintList(elems); \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex10.claro b/generics/contracts/dynamic_dispatch/ex10.claro new file mode 100644 index 00000000..af45c48b --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex10.claro @@ -0,0 +1,29 @@ +contract Unit { + consumer move(t: T); + function hasSpeedBoost(t: T) -> boolean; +} + +contract Render { + function render(t: T) -> char; + function getLoc(t: T) -> Location; +} + +requires(Unit, Render) +function gameTick(gameUnits: mut [T], gameBoard: [mut [char]], spaceship: Spaceship, onlyUnitsWSpeedBoost: boolean) + -> tuple { +$$ # The full implementation is too long for these docs. For the full implementation, see: +$$ # See https://github.com/JasonSteving99/claro-lang/blob/d6177ff8719e894f709c42811bd0b7f0a3d6c4d9/examples/claro_programs/asteroids.claro#L121-L123 + # ... + # Update unit locations. + for (unit in gameUnits) { + # ... + Unit::move(unit); + } + # ... + # Populate gameBoard. + for (unit in gameUnits) { + # ... + gameBoard[loc.r][loc.c] = Render::render(unit); + } + # ... +} \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex10.java b/generics/contracts/dynamic_dispatch/ex10.java new file mode 100644 index 00000000..6ca939e1 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex10.java @@ -0,0 +1,15 @@ +public class Demo { + public static void main(String... args) { + ArrayList elems = new ArrayList<>(); + elems.add(new Foo(1234)); + elems.add(new Bar("some string")); + elems.add(new Buzz("another")); + prettyPrintList(elems); + } + + static void prettyPrintList(ArrayList l) { + for (Stringify e : l) { + System.out.println(e.displayStr()); + } + } +} \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex11.claro b/generics/contracts/dynamic_dispatch/ex11.claro new file mode 100644 index 00000000..7488a561 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex11.claro @@ -0,0 +1,3 @@ +var gameUnits: mut [oneof]; +# ... +var gameTickRes = gameTick(gameUnits, ...); \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex2.java b/generics/contracts/dynamic_dispatch/ex2.java new file mode 100644 index 00000000..93040bcb --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex2.java @@ -0,0 +1,64 @@ +/*** JAVA ***/ +$$import java.util.List; +$$import java.util.ArrayList; +$$import java.lang.StringBuilder; +$$ +interface Stringify { + String displayStr(); +} +$$ +class Foo implements Stringify { + // ... +$$ private final int wrapped; +$$ public Foo(int wrapped) { +$$ this.wrapped = wrapped; +$$ } +$$ + @Override + public String displayStr() { + // ... +$$ String boundingLine = Util.repeated('*', String.valueOf(this.wrapped).length() + "* Foo() *".length()); +$$ return String.format("%s\n* Foo(%s) *\n%s", boundingLine, this.wrapped, boundingLine); + } +} +$$ +class Bar implements Stringify { + // ... +$$ private final String wrapped; +$$ public Bar(String wrapped) { +$$ this.wrapped = wrapped; +$$ } +$$ + @Override + public String displayStr() { + // ... +$$ String boundingLine = Util.repeated('-', this.wrapped.length() + "| Bar() |".length()); +$$ return String.format("%s\n| Foo(%s) |\n%s", boundingLine, this.wrapped, boundingLine); + } +} +$$ +class Buzz implements Stringify { + // ... +$$ private final String wrapped; +$$ public Buzz(String wrapped) { +$$ this.wrapped = wrapped; +$$ } +$$ + @Override + public String displayStr() { + // ... +$$ String boundingLine = Util.repeated('#', this.wrapped.length() + "# Buzz() #".length()); +$$ return String.format("%s\n# Buzz(%s) #\n%s", boundingLine, this.wrapped, boundingLine); + } +} +$$ +$$class Util { +$$ public static String repeated(char c, int n) { +$$ StringBuilder sb = new StringBuilder(); +$$ for (; n > 0; n--) { +$$ sb.append(c); +$$ } +$$ return sb.toString(); +$$ } +$$} +$$ \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex3.java b/generics/contracts/dynamic_dispatch/ex3.java new file mode 100644 index 00000000..9246bd0f --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex3.java @@ -0,0 +1,13 @@ +/*** JAVA ***/ +public class Demo { + public static void main(String... args) { + // Foo, Bar, and Buzz are all "subtypes" of Stringify. + prettyPrint(new Foo(1234)); + prettyPrint(new Bar("some string")); + prettyPrint(new Buzz("another")); + } + + static void prettyPrint(Stringify x) { + System.out.println(x.displayStr()); + } +} \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex4.claro b/generics/contracts/dynamic_dispatch/ex4.claro new file mode 100644 index 00000000..fa33b344 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex4.claro @@ -0,0 +1,9 @@ +#### CLARO #### +prettyPrint(Foo(1234)); +prettyPrint(Bar("some string")); +prettyPrint(Buzz("another")); + +requires(Stringify) +consumer prettyPrint(t: T) { + print(Stringify::displayStr(t)); +} \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex5.java b/generics/contracts/dynamic_dispatch/ex5.java new file mode 100644 index 00000000..9210beb9 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex5.java @@ -0,0 +1,13 @@ +/*** JAVA ***/ +public class Demo { + public static void main(String... args) { + // Java allows **both** of these calls - whether you want this or not. + prettyPrintPair(new Foo(1234), new Foo(56678)); + prettyPrintPair(new Foo(1234), new Bar("some string")); + } + + static void prettyPrintPair(Stringify x, Stringify y) { + System.out.println("First:" + x.displayStr()); + System.out.println("Second:" + x.displayStr()); + } +} \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex6.claro b/generics/contracts/dynamic_dispatch/ex6.claro new file mode 100644 index 00000000..17ee37b6 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex6.claro @@ -0,0 +1,6 @@ +#### CLARO #### +requires(Stringify) +consumer prettyPrintPair(x: T, y: T) { + print("First:\n{Stringify::displayStr(x)}"); + print("Second:\n{Stringify::displayStr(y)}"); +} \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex7.claro b/generics/contracts/dynamic_dispatch/ex7.claro new file mode 100644 index 00000000..33b7e7f3 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex7.claro @@ -0,0 +1,2 @@ +#### CLARO #### +prettyPrintPair(Foo(1234), Bar("some string")); \ No newline at end of file diff --git a/generics/contracts/dynamic_dispatch/ex8.claro b/generics/contracts/dynamic_dispatch/ex8.claro new file mode 100644 index 00000000..8ac4d825 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex8.claro @@ -0,0 +1,4 @@ +#### CLARO #### +prettyPrintPair(Foo(1234), Foo(5678)); +print(""); +prettyPrintPair(Bar("some string"), Bar("another")); diff --git a/generics/contracts/dynamic_dispatch/ex9.claro b/generics/contracts/dynamic_dispatch/ex9.claro new file mode 100644 index 00000000..c4ea10e2 --- /dev/null +++ b/generics/contracts/dynamic_dispatch/ex9.claro @@ -0,0 +1,7 @@ +requires(Stringify, Stringify) +consumer prettyPrintPair(x: T, y: V) { + print("First:\n{Stringify::displayStr(x)}"); + print("Second:\n{Stringify::displayStr(y)}"); +} + +prettyPrintPair(Foo(1234), Bar("some string")); \ No newline at end of file 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..3547da3e --- /dev/null +++ b/generics/contracts/implementing_contracts/BUILD @@ -0,0 +1,37 @@ +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", + ], + }, + { + "example": "ex4.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", + ], + "expect_errors": True, + }, + ], +) 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/ex4.claro b/generics/contracts/implementing_contracts/ex4.claro new file mode 100644 index 00000000..43f56e2a --- /dev/null +++ b/generics/contracts/implementing_contracts/ex4.claro @@ -0,0 +1,2 @@ +# Operators hasn't been implemented, so this call will be rejected. +print(sum([1.0, 2.0, 3.0])); \ 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..c561a28e --- /dev/null +++ b/generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html @@ -0,0 +1,304 @@ + + + + + + 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.

    +

    Static Enforcement of requires(...) Clauses

    +

    Of course, if you attempted to call a generic procedure that requires some contract(s) to be implemented, a compilation +error will be triggered if the contract was not actually implemented.

    +

    Fig 4:

    +
    +
    # Operators<double> hasn't been implemented, so this call will be rejected.
    +print(sum([1.0, 2.0, 3.0]));
    +
    +

    Compilation Errors:

    +
    Invalid Generic Procedure Call: For the call to the following generic procedure `sum` with the following signature:
    +		`function<[T] -> T> Generic Over {T} Requiring Impls for Contracts {Operators$<T>}`
    +	No implementation of the required contract Operators$<double>.
    +1 Error
    +
    +
    +

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

    +

    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/contracts/multiple_type_params/BUILD b/generics/contracts/multiple_type_params/BUILD new file mode 100644 index 00000000..5ce4102a --- /dev/null +++ b/generics/contracts/multiple_type_params/BUILD @@ -0,0 +1,21 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "multiple_type_params", + doc_template = "multiple_type_params.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": "ex1.claro", + "append_output": False, + }, + { + "example": "ex3.claro", + "hidden_setup": "ex1.claro", + }, + ], +) diff --git a/generics/contracts/multiple_type_params/ex1.claro b/generics/contracts/multiple_type_params/ex1.claro new file mode 100644 index 00000000..85bdfeb7 --- /dev/null +++ b/generics/contracts/multiple_type_params/ex1.claro @@ -0,0 +1,5 @@ +atom IndexOutOfBounds +contract RandomAccess { + function read(collection: C, index: int) -> oneof>; + function write(collection: C, index: int, elem: E) -> oneof>; +} \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/ex2.claro b/generics/contracts/multiple_type_params/ex2.claro new file mode 100644 index 00000000..677305e3 --- /dev/null +++ b/generics/contracts/multiple_type_params/ex2.claro @@ -0,0 +1,29 @@ +newtype Node : mut struct { + val: T, + next: oneof, std::Nothing> +} +function findNode(head: Node, index: int) -> oneof, std::Error> { + # ... +$$ if (index < 0) { return std::Error(IndexOutOfBounds); } +$$ repeat (index) { +$$ var next = unwrap(head).next; +$$ if (next instanceof Node) { +$$ head = next; +$$ } else { +$$ return std::Error(IndexOutOfBounds); +$$ } +$$ } +$$ return head; +} + +implement RandomAccess, string> { + function read(head: Node, index: int) -> oneof> { + var found ?= findNode(head, index); + return unwrap(found).val; + } + function write(head: Node, index: int, elem: string) -> oneof> { + var found ?= findNode(head, index); + unwrap(found).val = elem; + return std::OK; + } +} \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/ex3.claro b/generics/contracts/multiple_type_params/ex3.claro new file mode 100644 index 00000000..a07f1407 --- /dev/null +++ b/generics/contracts/multiple_type_params/ex3.claro @@ -0,0 +1,40 @@ +$$newtype Node : mut struct { +$$ val: T, +$$ next: oneof, std::Nothing> +$$} +$$function findNode(head: Node, index: int) -> oneof, std::Error> { +$$ if (index < 0) { return std::Error(IndexOutOfBounds); } +$$ repeat (index) { +$$ var next = unwrap(head).next; +$$ if (next instanceof Node) { +$$ head = next; +$$ } else { +$$ return std::Error(IndexOutOfBounds); +$$ } +$$ } +$$ return head; +$$} +$$ +$$implement RandomAccess, string> { +$$ function read(head: Node, index: int) -> oneof> { +$$ var found ?= findNode(head, index); +$$ return unwrap(found).val; +$$ } +$$ function write(head: Node, index: int, elem: string) -> oneof> { +$$ var found ?= findNode(head, index); +$$ unwrap(found).val = elem; +$$ return std::OK; +$$ } +$$} +$$ +var myLinkedList = Node(mut {val = "head", next = Node(mut {val = "middle", next = Node(mut {val = "tail", next = std::Nothing})})}); + +for (i in [-1, 0, 1, 2, 3]) { + var readRes = + # Explicitly constrain the return type, so Claro knows which contract implementation to dispatch to. + cast( + oneof>, + RandomAccess::read(myLinkedList, i) + ); + print("index {i}: {readRes}"); +} \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/implied_types/BUILD b/generics/contracts/multiple_type_params/implied_types/BUILD new file mode 100644 index 00000000..064e74a7 --- /dev/null +++ b/generics/contracts/multiple_type_params/implied_types/BUILD @@ -0,0 +1,43 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "implied_types", + doc_template = "implied_types.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": "ex1.claro", + "append_output": False, + }, + { + "example": "ex3.claro", + "hidden_setup": ["ex1.claro", "ex2.claro"], + "hidden_cleanup": "ex3-cleanup.claro", + "expect_errors": True, + }, + { + "example": "ex4.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": "ex4.claro", + "expect_errors": True, + }, + { + "example": "concat_ex6.claro", + "hidden_setup": "ex4.claro", + }, + ], +) + +genrule( + name = "concat_ex6", + outs = ["concat_ex6.claro"], + srcs = ["ex6.claro", "ex3.claro"], + cmd = "cat $(location ex6.claro) $(location ex3.claro) > $(OUTS)", +) \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/implied_types/ex1.claro b/generics/contracts/multiple_type_params/implied_types/ex1.claro new file mode 100644 index 00000000..85bdfeb7 --- /dev/null +++ b/generics/contracts/multiple_type_params/implied_types/ex1.claro @@ -0,0 +1,5 @@ +atom IndexOutOfBounds +contract RandomAccess { + function read(collection: C, index: int) -> oneof>; + function write(collection: C, index: int, elem: E) -> oneof>; +} \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/implied_types/ex2.claro b/generics/contracts/multiple_type_params/implied_types/ex2.claro new file mode 100644 index 00000000..bf9639db --- /dev/null +++ b/generics/contracts/multiple_type_params/implied_types/ex2.claro @@ -0,0 +1,44 @@ +$$newtype Node : mut struct { +$$ val: T, +$$ next: oneof, std::Nothing> +$$} +$$function findNode(head: Node, index: int) -> oneof, std::Error> { +$$ # ... +$$ if (index < 0) { return std::Error(IndexOutOfBounds); } +$$ repeat (index) { +$$ var next = unwrap(head).next; +$$ if (next instanceof Node) { +$$ head = next; +$$ } else { +$$ return std::Error(IndexOutOfBounds); +$$ } +$$ } +$$ return head; +$$} +$$ +implement RandomAccess, string> { + function read(head: Node, index: int) -> oneof> { + # ... +$$ var found ?= findNode(head, index); +$$ return unwrap(found).val; + } + function write(head: Node, index: int, elem: string) -> oneof> { + # ... +$$ var found ?= findNode(head, index); +$$ unwrap(found).val = elem; +$$ return std::OK; + } +} +implement RandomAccess, int> { + function read(head: Node, index: int) -> oneof> { + # ... +$$ var found ?= findNode(head, index); +$$ return len(unwrap(found).val); + } + function write(head: Node, index: int, elem: int) -> oneof> { + # ... +$$ var found ?= findNode(head, index); +$$ unwrap(found).val = "{elem}"; +$$ return std::OK; + } +} \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/implied_types/ex3-cleanup.claro b/generics/contracts/multiple_type_params/implied_types/ex3-cleanup.claro new file mode 100644 index 00000000..ddaf32dd --- /dev/null +++ b/generics/contracts/multiple_type_params/implied_types/ex3-cleanup.claro @@ -0,0 +1 @@ +_ = myLinkedList; \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/implied_types/ex3.claro b/generics/contracts/multiple_type_params/implied_types/ex3.claro new file mode 100644 index 00000000..76f052ca --- /dev/null +++ b/generics/contracts/multiple_type_params/implied_types/ex3.claro @@ -0,0 +1,3 @@ +var myLinkedList = Node(mut {val = "head", next = Node(mut {val = "middle", next = Node(mut {val = "tail", next = std::Nothing})})}); + +print(RandomAccess::read(myLinkedList, 1)); \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/implied_types/ex4.claro b/generics/contracts/multiple_type_params/implied_types/ex4.claro new file mode 100644 index 00000000..f73d444c --- /dev/null +++ b/generics/contracts/multiple_type_params/implied_types/ex4.claro @@ -0,0 +1,7 @@ +atom IndexOutOfBounds + +# Type `C` implies type `E`. There can only be a single RandomAccess impl for any given `C`. +contract RandomAccess E> { + function read(collection: C, index: int) -> oneof>; + function write(collection: C, index: int, elem: E) -> oneof>; +} \ No newline at end of file diff --git a/generics/contracts/multiple_type_params/implied_types/ex6.claro b/generics/contracts/multiple_type_params/implied_types/ex6.claro new file mode 100644 index 00000000..0bb0f50c --- /dev/null +++ b/generics/contracts/multiple_type_params/implied_types/ex6.claro @@ -0,0 +1,33 @@ +$$newtype Node : mut struct { +$$ val: T, +$$ next: oneof, std::Nothing> +$$} +$$function findNode(head: Node, index: int) -> oneof, std::Error> { +$$ # ... +$$ if (index < 0) { return std::Error(IndexOutOfBounds); } +$$ repeat (index) { +$$ var next = unwrap(head).next; +$$ if (next instanceof Node) { +$$ head = next; +$$ } else { +$$ return std::Error(IndexOutOfBounds); +$$ } +$$ } +$$ return head; +$$} +$$ +# This is now the only implementation in the entire program. +implement RandomAccess, string> { + function read(head: Node, index: int) -> oneof> { + # ... +$$ var found ?= findNode(head, index); +$$ return unwrap(found).val; + } + function write(head: Node, index: int, elem: string) -> oneof> { + # ... +$$ var found ?= findNode(head, index); +$$ unwrap(found).val = elem; +$$ return std::OK; + } +} + diff --git a/generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html b/generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html new file mode 100644 index 00000000..c4d70cf5 --- /dev/null +++ b/generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html @@ -0,0 +1,452 @@ + + + + + + (Advanced) Implied Types - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    (Advanced) Implied Types

    +

    In the previous section we +noticed a problem +with the definition of the contract:

    +

    Fig 1:

    +
    +
    atom IndexOutOfBounds
    +contract RandomAccess<C, E> {
    +  function read(collection: C, index: int) -> oneof<E, std::Error<IndexOutOfBounds>>;
    +  function write(collection: C, index: int, elem: E) -> oneof<std::OK, std::Error<IndexOutOfBounds>>;
    +}
    +
    +
    +

    Specifically, we decided that this contract definition is too unconstrained: knowing the types of the arguments in a +RandomAccess::read(...) call is insufficient to know which contract implementation the call should dispatch to.

    +

    To drive this point home, in the below example there are two implementations of the contract both over the same +collection type, but over different element types. In this definition of the contract, there's nothing stopping this +from happening.

    +

    Fig 2:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  # ...
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +implement RandomAccess<Node<string>, int> {
    +  function read(head: Node<string>, index: int) -> oneof<int, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return len(unwrap(found).val);
    +  }
    +  function write(head: Node<string>, index: int, elem: int) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = "{elem}";
    +    return std::OK;
    +  }
    +}
    +
    +
    +

    As a result, any calls to the RandomAccess::read(...) function are inherently ambiguous, and require the return type +to be explicitly, statically constrained. Any unconstrained calls to this contract procedure would result in a +compilation error where Claro tries to ask the user which contract implementation they actually intend to dispatch to:

    +

    Fig 3:

    +
    +
    var myLinkedList = Node(mut {val = "head", next = Node(mut {val = "middle", next = Node(mut {val = "tail", next = std::Nothing})})});
    +
    +print(RandomAccess::read(myLinkedList, 1));
    +
    +

    Compilation Errors:

    +
    implied_types_EX3_example.claro:3: Ambiguous Contract Procedure Call: Calls to the procedure `RandomAccess$<C, E>::read` is ambiguous without an explicit type annotation to constrain the expected generic return type `oneof<E, [module at //stdlib:std]::Error<IndexOutOfBounds>>`.
    +print(RandomAccess::read(myLinkedList, 1));
    +      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +
    +

    Note: This ambiguity is an inherent feature of the RandomAccess<C, E> definition itself. Claro would still +produce a compilation error if there happened to only be a single implementation because another conflicting +implementation could be added at any time.

    +
    +

    Statically Preventing Ambiguous Contract Definitions with Implied Types

    +

    Of course, there's arguably very little reason for this particular contract to actually allow multiple +implementations over the same collection type (the second implementation RandomAccess<Node<string>, int> above is very +contrived). So ideally this contract definition should statically encode a restriction on such implementations. It +should only be possible to implement this contract once for a given collection type - meaning that there would be +no more ambiguity on the return type of calls to RandomAccess::read(...).

    +

    Thankfully, you can encode this restriction directly into contract definition using "Implied Types":

    +

    Fig 4:

    +
    +
    atom IndexOutOfBounds
    +
    +# Type `C` implies type `E`. There can only be a single RandomAccess impl for any given `C`.
    +contract RandomAccess<C => E> {
    +  function read(collection: C, index: int) -> oneof<E, std::Error<IndexOutOfBounds>>;
    +  function write(collection: C, index: int, elem: E) -> oneof<std::OK, std::Error<IndexOutOfBounds>>;
    +}
    +
    +
    +

    The only change is in the declaration of the contract's generic type parameters: <C => E> (read: "C implies E") +was used instead of <C, E>. This explicitly declares to Claro that this implication must be maintained for all +types, C, over which the contract is implemented throughout the entire program.

    +

    As a result, it will now be a compilation error for two separate implementations RandomAccess<C, E1> and +RandomAccess<C, E2> (where E1 != E2) to coexist, as this would violate the constraint that C => E.

    +

    So now, attempting to define the two implementations given in the previous example would result in a +compilation error:

    +

    Fig 5:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  # ...
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +implement RandomAccess<Node<string>, int> {
    +  function read(head: Node<string>, index: int) -> oneof<int, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return len(unwrap(found).val);
    +  }
    +  function write(head: Node<string>, index: int, elem: int) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = "{elem}";
    +    return std::OK;
    +  }
    +}
    +
    +

    Compilation Errors:

    +
    Invalid Contract Implementation: The Contract you're attempting to implement is defined as RandomAccess$<C => E> which means that there can only be exactly one implementation of RandomAccess$ for the unconstrained type params C.
    +		However, the following conflicting implementations were found:
    +			RandomAccess$<Node<string>, int>
    +		AND
    +			RandomAccess$<Node<string>, string>
    +1 Error
    +
    +
    +

    Now, by eliminating one of the implementations you fix the compilation error. In addition, you're now able to call +RandomAccess::read(...) without any ambiguity!

    +

    Fig 6:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  # ...
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +# This is now the only implementation in the entire program.
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +
    +var myLinkedList = Node(mut {val = "head", next = Node(mut {val = "middle", next = Node(mut {val = "tail", next = std::Nothing})})});
    +
    +print(RandomAccess::read(myLinkedList, 1));
    +
    +

    Output:

    +
    middle
    +
    +
    +

    Deciding Whether to Use Implied Types to Constrain a Contract's Implementations is a Judgement Call

    +

    If you made it through this entire section, you should have a strong understanding of the purpose and value add of +implied types. However, keep in mind that both unconstrained and implied types have their uses! In particular, the +return type ambiguity demonstrated in this section may actually be used to good effect, particularly in the case of +designing more "fluent" APIs.

    +

    Don't just assume that every contract should be defined using implied types. You should be applying good design +judgement to determine if and when to use this feature or to leave a contract's type parameters unconstrained.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html b/generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html new file mode 100644 index 00000000..39d92b8a --- /dev/null +++ b/generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html @@ -0,0 +1,353 @@ + + + + + + Multiple Type Params - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Contracts with Multiple Type Params

    +

    So far we've only demonstrated very simple contracts with over a single generic type parameter - however, there is no +hard restriction on the number of type parameters that a contract can reference. (Of course, typical software design +principles still apply, a contract with many type params is probably going to be too complex to actually be used +effectively in practice.)

    +

    Here's a contract defined over multiple type params:

    +

    Fig 1:

    +
    +
    atom IndexOutOfBounds
    +contract RandomAccess<C, E> {
    +  function read(collection: C, index: int) -> oneof<E, std::Error<IndexOutOfBounds>>;
    +  function write(collection: C, index: int, elem: E) -> oneof<std::OK, std::Error<IndexOutOfBounds>>;
    +}
    +
    +
    +

    And an implementation of that contract:

    +

    Fig 2:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  # ...
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +
    +
    +
    +

    Note: Learn more about the ?= operator used in the above example in the +Error Handling section.

    +
    +

    Calling a Contract Procedure Over Multiple Type Params

    +

    A contract procedure is always called in exactly the same way regardless of how many type parameters the contract was +defined over.

    +

    Fig 3:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +
    +var myLinkedList = Node(mut {val = "head", next = Node(mut {val = "middle", next = Node(mut {val = "tail", next = std::Nothing})})});
    +
    +for (i in [-1, 0, 1, 2, 3]) {
    +  var readRes =
    +    # Explicitly constrain the return type, so Claro knows which contract implementation to dispatch to.
    +    cast(
    +      oneof<string, std::Error<IndexOutOfBounds>>,
    +      RandomAccess::read(myLinkedList, i)
    +    );
    +  print("index {i}: {readRes}");
    +}
    +
    +

    Output:

    +
    index -1: Error(IndexOutOfBounds)
    +index 0: head
    +index 1: middle
    +index 2: tail
    +index 3: Error(IndexOutOfBounds)
    +
    +
    +

    Limitation of the Above Contract Definition

    +
    +

    Notice that in the prior example, the call to +RandomAccess::read(...) is wrapped in an explicit static cast(...). If you read closely, you can see that this is +because the arguments alone do not fully constrain the type that the call should return (it could be that you intend +to dispatch to some other impl RandomAccess<Node<string>, Foo>). Read more about this situation in +Required Type Annotations.

    +
    +

    By allowing this sort of contract definition, Claro actually opens up a design space for contracts that can have +multiple slight variations implemented, enabling callers can conveniently just get the return type that they need based +on context.

    +

    However, you could argue that this particular contract definition does not benefit from that flexibility. This contract +would arguably be more useful if RandomAccess::read(...) didn't have an ambiguous return type.

    +

    Learn how to address this issue using "Implied Types"

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + 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..ddd11139 --- /dev/null +++ b/generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html @@ -0,0 +1,345 @@ + + + + + + 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(1)
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + 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..365453d0 --- /dev/null +++ b/getting_started/first_program/first_program.generated_docs.html @@ -0,0 +1,314 @@ + + + + + + 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..28ec76eb --- /dev/null +++ b/getting_started/getting_started.html @@ -0,0 +1,277 @@ + + + + + + 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..c04d1319 --- /dev/null +++ b/getting_started/intro_to_modules/intro_to_modules.generated_docs.html @@ -0,0 +1,357 @@ + + + + + + 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..9aa08370 --- /dev/null +++ b/getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html @@ -0,0 +1,383 @@ + + + + + + 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..81d1eb6c --- /dev/null +++ b/graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html @@ -0,0 +1,279 @@ + + + + + + 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..b5648704 --- /dev/null +++ b/graph_procedures/conditional_subgraph_execution/conditional_subgraph_execution.generated_docs.html @@ -0,0 +1,295 @@ + + + + + + (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..71378dff --- /dev/null +++ b/graph_procedures/graph_procedure_composition/graph_procedure_composition.generated_docs.html @@ -0,0 +1,287 @@ + + + + + + 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..b9f6e038 --- /dev/null +++ b/graph_procedures/graph_procedures.generated_docs.html @@ -0,0 +1,268 @@ + + + + + + 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_data_race_free/BUILD b/guaranteed_data_race_free/BUILD new file mode 100644 index 00000000..905262b8 --- /dev/null +++ b/guaranteed_data_race_free/BUILD @@ -0,0 +1,28 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "guaranteed_data_race_free", + doc_template = "guaranteed_data_race_free.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "expect_errors": True, + "hidden_setup": "ex1-setup.claro", + }, + { + "example": "ex2.claro", + "expect_errors": True, + "hidden_setup": "ex2-setup.claro", + }, + { + "example": "ex3.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex4.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) diff --git a/guaranteed_data_race_free/ex1-setup.claro b/guaranteed_data_race_free/ex1-setup.claro new file mode 100644 index 00000000..4f8467c0 --- /dev/null +++ b/guaranteed_data_race_free/ex1-setup.claro @@ -0,0 +1,12 @@ +alias SomeRes : int + +function computeRes(b: int, c: int) -> future { + _ = (b, c); + return futures::immediateFuture(-1); +} +function doNodeBThing(b: int) -> future { + return futures::immediateFuture(b); +} +function doNodeCThing(c: int) -> future { + return futures::immediateFuture(c); +} diff --git a/guaranteed_data_race_free/ex1.claro b/guaranteed_data_race_free/ex1.claro new file mode 100644 index 00000000..71807c64 --- /dev/null +++ b/guaranteed_data_race_free/ex1.claro @@ -0,0 +1,5 @@ +graph function someGraph(mutArg: mut [int]) -> future { + root res <- computeRes(@nodeB, @nodeC); + node nodeB <- doNodeBThing(mutArg); + node nodeC <- doNodeCThing(mutArg); +} \ No newline at end of file diff --git a/guaranteed_data_race_free/ex2-setup.claro b/guaranteed_data_race_free/ex2-setup.claro new file mode 100644 index 00000000..badd6845 --- /dev/null +++ b/guaranteed_data_race_free/ex2-setup.claro @@ -0,0 +1,15 @@ +alias SomeRes : int + +function computeRes(b: int, c: int) -> future { + _ = (b, c); + return futures::immediateFuture(-1); +} +function doNodeBThing(b: mut [int]) -> future { + return futures::immediateFuture(len(b)); +} +function doNodeCThing(c: mut [int]) -> future { + return futures::immediateFuture(len(c)); +} +provider getMutableThing() -> mut [int] { + return mut [0]; +} \ No newline at end of file diff --git a/guaranteed_data_race_free/ex2.claro b/guaranteed_data_race_free/ex2.claro new file mode 100644 index 00000000..5405f71c --- /dev/null +++ b/guaranteed_data_race_free/ex2.claro @@ -0,0 +1,6 @@ +graph provider someGraph() -> future { + root res <- computeRes(@nodeB, @nodeC); + node nodeB <- doNodeBThing(@nodeA); + node nodeC <- doNodeCThing(@nodeA); + node nodeA <- getMutableThing(); +} \ No newline at end of file diff --git a/guaranteed_data_race_free/ex3.claro b/guaranteed_data_race_free/ex3.claro new file mode 100644 index 00000000..12dfbfa3 --- /dev/null +++ b/guaranteed_data_race_free/ex3.claro @@ -0,0 +1,2 @@ +# Note the lack of a `mut` annotation. +opaque newtype Cache \ No newline at end of file diff --git a/guaranteed_data_race_free/ex4.claro b/guaranteed_data_race_free/ex4.claro new file mode 100644 index 00000000..b6ef3365 --- /dev/null +++ b/guaranteed_data_race_free/ex4.claro @@ -0,0 +1,2 @@ +# This `$java_type` feature is only accessible to the StdLib. +newtype Cache: $java_type("com.github.benmanes.caffeine.cache.AsyncLoadingCache<%s, %s>") \ No newline at end of file diff --git a/guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html b/guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html new file mode 100644 index 00000000..268b4e63 --- /dev/null +++ b/guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html @@ -0,0 +1,390 @@ + + + + + + Guaranteed Data-Race-Free Concurrency - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Guaranteed Data-Race-Free Concurrency

    +

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

    +

    A data race occurs when two or more threads in a single process access the same memory location concurrently, and at +least one of the accesses is for writing, and the threads are not using any exclusive locks to control their accesses +to that memory.

    +

    While there are situations where a race condition may be desirable, they are accidental bugs far more often than +not. So, Claro has been carefully designed to statically prevent you from writing any program with such a data race. +There are a few primary mechanisms in the language that, together, ensure that data races are impossible to encode. At +their core, these restrictions boil down to preventing any two threads from sharing references to the same mutable data.

    +
    +

    Thread-Local Data Can be Mutated at Will

    +

    Claro requires the use of immutable data when passing data between threads. By enforcing this constraint globally, Claro +programs in turn receive a static guarantee that all non-Graph procedure interactions with mutable data are happening +over mutable data that is local to the current thread only and therefore doesn't require any synchronization +whatsoever.

    +

    So, while you'll read about restrictions on Graph Procedures below, keep in mind that the internal implementations of +any given node (e.g. the implementation of a procedure called by a node) may create whatever mutable data it wants, and +mutate it freely, including by passing the data around to other procedures that do the mutation.

    +
    +

    All Graph Procedure Args Must be Deeply-Immutable

    +

    Claro's Graph Procedures are an inherently concurrent control flow structure, with nodes executing concurrently by +definition. Importantly, Graphs are executed on multiple threads using a threadpool, and Claro takes responsibility for +this execution being thread safe. As nodes may be executing simultaneously, it would be fundamentally unsafe for any two +nodes to share a reference to the same mutable data as nothing would prevent one of the threads from mutating the data +while another thread is reading from it.

    +

    Claro's approach to addressing this is to track mutability in the type system, and to make use of that information to +ensure that no two threads ever share mutable state by statically requiring that all Graph procedure arguments and node +outputs are deeply immutable.

    +

    Fig 1:

    +
    +
    graph function someGraph(mutArg: mut [int]) -> future<SomeRes> {
    +    root res   <- computeRes(@nodeB, @nodeC);
    +    node nodeB <- doNodeBThing(mutArg);
    +    node nodeC <- doNodeCThing(mutArg);
    +}
    +
    +

    Compilation Errors:

    +
    guaranteed_data_race_free_EX1_example.claro:1: Illegal Mutable Graph Procedure Arg: As Graph Procedures are multi-threaded by nature, all args must be deeply-immutable in order to guarantee that Graph Procedures are data-race free by construction.
    +	Found the mutable type:
    +		mut [int]
    +	To correct this, consider converting the arg's type to its deeply-immutable variant:
    +		[int]
    +graph function someGraph(mutArg: mut [int]) -> future<SomeRes> {
    +                         ^^^^^^
    +guaranteed_data_race_free_EX1_example.claro:3: Invalid type:
    +	Found:
    +		mut [int]
    +	Expected:
    +		int
    +    node nodeB <- doNodeBThing(mutArg);
    +                               ^^^^^^
    +guaranteed_data_race_free_EX1_example.claro:4: Invalid type:
    +	Found:
    +		mut [int]
    +	Expected:
    +		int
    +    node nodeC <- doNodeCThing(mutArg);
    +                               ^^^^^^
    +3 Errors
    +
    +
    +
    +    graph TD
    +    nodeB --> res
    +    nodeC --> res
    +
    +

    Here, Claro has correctly identified that nodeB and nodeC would be susceptible to creating a data race, and so a +compilation error is raised. Additionally, even if there were only a single graph node actually using mutArg, it would +still be fundamentally unsafe. Remember that every single node in a graph runs on the Graph Executor, which is backed by +a threadpool meaning that passing any arguments to a graph procedure is inherently an act that hands data to another +thread. Claro's philosophy of thread safety is to statically prevent sharing mutable state across threads, so this will +not be allowed.

    +

    All Graph Procedure Node Outputs Must be Deeply-Immutable

    +

    You'll also be prevented from introducing a data race by having a graph node pass mutable data to other downstream +nodes:

    +

    Fig 2:

    +
    +
    graph provider someGraph() -> future<SomeRes> {
    +    root res   <- computeRes(@nodeB, @nodeC);
    +    node nodeB <- doNodeBThing(@nodeA);
    +    node nodeC <- doNodeCThing(@nodeA);
    +    node nodeA <- getMutableThing();
    +}
    +
    +

    Compilation Errors:

    +
    guaranteed_data_race_free_EX2_example.claro:5: Illegal Mutable Graph Node Result: As Graph Procedures are multi-threaded by nature, all node expression types must be deeply-immutable in order to guarantee that Graph Procedures are data-race free by construction.
    +	Found the result of node `nodeA` to have the mutable type:
    +		mut [int]
    +	To correct this, consider converting to its deeply-immutable variant:
    +		[int]
    +    node nodeA <- getMutableThing();
    +                  ^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +
    +    graph TD
    +    nodeA --> nodeB
    +    nodeA --> nodeC
    +    nodeB --> res
    +    nodeC --> res
    +
    +

    Again, Claro has correctly identified that nodeB and nodeC would be susceptible to creating a data race, and so a +compilation error is raised.

    +

    Lambdas Cannot Capture Mutable Data

    +

    The final restriction that enables "Fearless Concurrency" in Claro programs is the constraint restricting Lambdas from +"closing over"/capturing any mutable value. If Lambdas could capture mutable state data, then passing a Lambda into a +Graph could (very indirectly) circumvent Claro's above restriction on sharing references to mutable data across multiple +threads.

    +

    Read more in-depth about this restriction in the +"Lambdas are Restricted Closures" +section.

    +

    Thread Safe Mutable Data Structures "Blessed" By the StdLib

    +

    Claro aims to be a very pragmatic language, and so chooses not to complicate its type system with something like Rust's +(notoriously complex) borrow checker to prevent shared ownership of unsynchronized, mutable data. Instead, Claro opts to +take an approach of statically forbidding the arbitrary sharing of mutable state between threads, but then returning the +ability to do mutation via a curated set of "blessed" mutable data structures that have been manually validated to be +Thread Safe in all contexts.

    +

    For example, take the case of a multithreaded web server where it's very common to employ a request cache to improve +throughput by reusing responses from downstream services for some period of time. This request cache is an inherently +mutable structure (it needs to be updated when a new request needs to be cached, or when reloading an existing cache +entry upon expiration). A mutable request cache is obviously of utmost importance for Claro's practical usefulness as a +language for writing real world web services, so the stdlib exposes Ben Manes' famously high-performance, thread safe +Caffeine caching library as the StdLib's +cache module.

    +
    +

    Important: This is Restricted to the StdLib

    +

    Claro accomplishes this using "Opaque" Types and a compiler intrinsic (trick) to effectively lie about the type's +mutability to avoid the restrictions on types marked mut. In particular, this type is exported from the +cache.claro_module_api file +as follows:

    +

    Fig 3:

    +
    +
    # Note the lack of a `mut` annotation.
    +opaque newtype Cache<K, V>
    +
    +
    +

    And is internally defined as wrapping the Java AsyncLoadingCache type from the Caffeine caching library:

    +

    Fig 4:

    +
    +
    # This `$java_type` feature is only accessible to the StdLib.
    +newtype Cache<K, V>: $java_type<K, V>("com.github.benmanes.caffeine.cache.AsyncLoadingCache<%s, %s>")
    +
    +
    +

    Thanks to being defined as an Opaque Type, it's safe for this type to be passed anywhere, even shared between threads, +as users' only mechanism to interact with values of this type is via the "front door" of the procedures exported from +cache.claro_module_api +which define a Thread Safe API.

    +

    It's not possible for user code to actually make this same "lie" about a type's mutability. This feature is explicitly +restricted to the internal StdLib modules to ensure that Claro's "Fearless Concurrency" guarantees aren't broken by +users either publishing buggy or intentionally malicious modules. At the moment (and into the foreseeable future), +Claro places a much higher value on being able to make safety guarantees across the entire language ecosystem than +on any individual's ability to define their own custom mutable data structures that can be shared across threads.

    +

    There are currently no plans to ever allow any mutable, user-defined type defined outside the StdLib to be shared +across threads. Instead, Claro intends to actively welcome external contributions of high value, general purpose, +demonstrably Thread Safe, mutable data structures to be made available via the StdLib.

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/guaranteed_deadlock_free.html b/guaranteed_deadlock_free.html new file mode 100644 index 00000000..b40a7fc4 --- /dev/null +++ b/guaranteed_deadlock_free.html @@ -0,0 +1,272 @@ + + + + + + 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..6872dd8b --- /dev/null +++ b/guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html @@ -0,0 +1,266 @@ + + + + + + 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 blocking 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..898871c0 --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function.generated_docs.html @@ -0,0 +1,258 @@ + + + + + + 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..c5184021 --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html @@ -0,0 +1,327 @@ + + + + + + (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/http_servers/BUILD b/http_servers/BUILD new file mode 100644 index 00000000..3b1c3c24 --- /dev/null +++ b/http_servers/BUILD @@ -0,0 +1,72 @@ +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "http_servers", + doc_template = "http_servers.tmpl.md", + examples = [ + { + "example": "ex-http-service.claro", + "optional_stdlib_deps": ["http"], + "hidden_setup": "http_dep_workaround.claro", + "append_output": False, + }, + { + "example": "empty_endpoint_handlers_example", + "optional_stdlib_deps": ["http"], + "expect_errors": True, + }, + { + "example": "endpoint_handlers_example", + "optional_stdlib_deps": ["http"], + "deps": {"EndpointHandlerImpls": ":endpoint_handler_impls"}, + "append_output": False, + }, + { + "example": "start_the_server_example", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + + +genrule( + name = "empty_endpoint_handlers_example", + outs = ["empty_endpoint_handlers_example.claro"], + srcs = ["ex-http-service.claro", "empty_endpoint_handlers.claro"], + cmd = "cat $(location ex-http-service.claro) $(location empty_endpoint_handlers.claro) > $(OUTS)", +) +genrule( + name = "endpoint_handlers_example", + outs = ["endpoint_handlers_example.claro"], + srcs = ["ex-http-service.claro", "endpoint_handlers.claro"], + cmd = "cat $(location ex-http-service.claro) $(location endpoint_handlers.claro) > $(OUTS)", +) +genrule( + name = "start_the_server_example", + outs = ["start_the_server_example.claro"], + srcs = ["ex-http-service.claro", "endpoint_handlers.claro", "start_the_server.claro"], + cmd = "cat $(location ex-http-service.claro) $(location endpoint_handlers.claro) | sed 's/^/$$$$/' > $(OUTS) && cat $(location start_the_server.claro) >> $(OUTS)", +) + +claro_module( + name = "endpoint_handler_impls", + module_api_file = "endpoint_handler_impls.claro_module_api", + srcs = ["endpoint_handler_impls.claro"], +) + +genrule( + name = "start_the_server_impl", + outs = ["start_the_server_impl.claro"], + srcs = ["ex-http-service.claro", "endpoint_handlers.claro", "start_the_server.claro"], + cmd = "cat $(location ex-http-service.claro) $(location endpoint_handlers.claro) $(location start_the_server.claro) > $(OUTS)", +) + +# This target was used to generate the Asciinema demo of interacting with this server. +claro_binary( + name = "greeter_server", + main_file = "start_the_server_impl", + optional_stdlib_deps = ["http"], + deps = {"EndpointHandlerImpls": ":endpoint_handler_impls"}, +) \ No newline at end of file diff --git a/http_servers/empty_endpoint_handlers.claro b/http_servers/empty_endpoint_handlers.claro new file mode 100644 index 00000000..2710e088 --- /dev/null +++ b/http_servers/empty_endpoint_handlers.claro @@ -0,0 +1,6 @@ + + +# endpoint_handlers Greeter { } + +var greeterServer: HttpServer = http::getBasicHttpServerForPort(8080); +_ = greeterServer; # Not starting the server yet. diff --git a/http_servers/endpoint_handler_impls.claro b/http_servers/endpoint_handler_impls.claro new file mode 100644 index 00000000..ec2d0edc --- /dev/null +++ b/http_servers/endpoint_handler_impls.claro @@ -0,0 +1,7 @@ +provider static_GENERIC_GREETING() -> string { + return "Hello, whoever you are!"; +} + +function getGreetingForName(name: string) -> string { + return "Hello, {name}!"; +} \ No newline at end of file diff --git a/http_servers/endpoint_handler_impls.claro_module_api b/http_servers/endpoint_handler_impls.claro_module_api new file mode 100644 index 00000000..7343372f --- /dev/null +++ b/http_servers/endpoint_handler_impls.claro_module_api @@ -0,0 +1,3 @@ +static GENERIC_GREETING: string; + +function getGreetingForName(name: string) -> string; \ No newline at end of file diff --git a/http_servers/endpoint_handlers.claro b/http_servers/endpoint_handlers.claro new file mode 100644 index 00000000..9d33b2de --- /dev/null +++ b/http_servers/endpoint_handlers.claro @@ -0,0 +1,15 @@ + + +endpoint_handlers Greeter { + graph provider genericGreeting() -> future { + root httpRes <- http::getOk200HttpResponseForJson(@json); + node json <- EndpointHandlerImpls::GENERIC_GREETING; + } + graph function greeting(name: string) -> future { + root httpRes <- http::getOk200HttpResponseForJson(@json); + node json <- EndpointHandlerImpls::getGreetingForName(name); + } +} + +var greeterServer: HttpServer = http::getBasicHttpServerForPort(8080); +_ = greeterServer; # Not starting the server yet. diff --git a/http_servers/ex-http-service.claro b/http_servers/ex-http-service.claro new file mode 100644 index 00000000..338e469f --- /dev/null +++ b/http_servers/ex-http-service.claro @@ -0,0 +1,4 @@ +HttpService Greeter { + genericGreeting: "/genericGreeting", + greeting: "/greeting/{name}" +} \ No newline at end of file diff --git a/http_servers/http_dep_workaround.claro b/http_servers/http_dep_workaround.claro new file mode 100644 index 00000000..5237339f --- /dev/null +++ b/http_servers/http_dep_workaround.claro @@ -0,0 +1 @@ +_ = http::getOk200HttpResponseForHtml(""); \ No newline at end of file diff --git a/http_servers/http_servers.generated_docs.html b/http_servers/http_servers.generated_docs.html new file mode 100644 index 00000000..30305014 --- /dev/null +++ b/http_servers/http_servers.generated_docs.html @@ -0,0 +1,367 @@ + + + + + + Basic HTTP Servers - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Basic HTTP Servers

    +

    Claro has been carefully designed to be uniquely well-suited for building highly efficient, scalable web servers. +Claro's "Fearless Concurrency" guarantees are explicitly an effort to +make it significantly challenging to make a buggy, slow web server - and instead, Claro's novel concurrency model will +lead to performant and easy-to-maintain web servers naturally falling out of even naive usages of the language.

    +

    To actually demonstrate this explicitly, Claro provides very basic support for building HTTP servers that can be used in +the absence of any sort of 3rd party framework to jump you right into your first web server in Claro. This feature is +largely intended as a demonstration of Claro's current capabilities, and to point towards Claro's future direction. This +is by no means a complete web server framework.

    +

    Following this guide will lead you through the steps to setting up your very first web server in Claro.

    +

    HTTP Service Definition

    +

    First, you'll need to define the endpoints that your HTTP service will handle. To do this, you'll use Claro's built-in +HttpService definition syntax, e.g.:

    +

    Fig 1:

    +
    +
    HttpService Greeter {
    +  genericGreeting: "/genericGreeting",
    +  greeting: "/greeting/{name}"
    +}
    +
    +
    +

    The above defines a very simple service with two basic endpoints.

    +

    Auto-Generated HttpServer

    +

    Claro will automatically generate a pre-configured, non-blocking web server implementation for your HttpService +definition by using the builtin magic function http::getBasicHttpServerForPort(). This function is implemented as a +compiler intrinsic that will infer the server to automatically generate based on the type asserted on the call. So, we +can get Claro to generate a web server for the example Greeter service as in the example below.

    +
    +Note that no Endpoint Handlers have been implemented yet so we should actually expect the below to fail to compile and +prompt us to implement them! Doing things in this order allows us to allow Claro to prompt us with the signatures that +we need to implement, which is just a convenience. +
    +

    Fig 2:

    +
    +
    HttpService Greeter {
    +  genericGreeting: "/genericGreeting",
    +  greeting: "/greeting/{name}"
    +}
    +
    +# endpoint_handlers Greeter { }
    +
    +var greeterServer: HttpServer<Greeter> = http::getBasicHttpServerForPort(8080);
    +_ = greeterServer; # Not starting the server yet.
    +
    +

    Compilation Errors:

    +
    http_servers_EX2_example.claro:8: Invalid HttpServer Generation Requested for HttpService Missing Endpoint Handlers Definition: In order to automatically generate an HttpServer for the given HttpService an `endpoint_handlers` block such as the following must be defined:
    +	endpoint_handlers Greeter {
    +		graph provider genericGreeting() -> future<HttpResponse> {
    +			...
    +		}
    +		graph function greeting(pathArg0: string) -> future<HttpResponse> {
    +			...
    +		}
    +	}
    +var greeterServer: HttpServer<Greeter> = http::getBasicHttpServerForPort(8080);
    +                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    Implementing Endpoint Handlers

    +

    A service definition on its own doesn't actually provide much utility without endpoint handlers implemented to actually +serve up the responses to incoming requests. As we see from the compilation error above, we must define endpoint +handlers for the above HttpService by defining an endpoint_handlers block with a Graph Procedure implementation +corresponding to each endpoint in the HttpService definition.

    +

    Note that in the HTTP service definition above, the greeting endpoint includes {name} in the route - this is a "path +parameter" that will automatically be parsed from incoming requests and passed along as input to the associated endpoint +handler. So, note that the signature of the greeting endpoint handler includes a string arg that will represent the +value of the {name} path parameter for each request to that endpoint.

    +

    Fig 3:

    +
    +
    HttpService Greeter {
    +  genericGreeting: "/genericGreeting",
    +  greeting: "/greeting/{name}"
    +}
    +
    +endpoint_handlers Greeter {
    +  graph provider genericGreeting() -> future<HttpResponse> {
    +    root httpRes <- http::getOk200HttpResponseForJson(@json);
    +    node json    <- EndpointHandlerImpls::GENERIC_GREETING;
    +  }
    +  graph function greeting(name: string) -> future<HttpResponse> {
    +    root httpRes <- http::getOk200HttpResponseForJson(@json);
    +    node json    <- EndpointHandlerImpls::getGreetingForName(name);
    +  }
    +}
    +
    +var greeterServer: HttpServer<Greeter> = http::getBasicHttpServerForPort(8080);
    +_ = greeterServer; # Not starting the server yet.
    +
    +
    +

    As you can see, the core implementation logic was factored out into another Module EndpointHandlerImpls. These impls +can do anything, including making arbitrary downstream network requests, as long as they are non-blocking. In this case, +they'll simply return some simple greeting.

    +
    +Note: the requirement that each endpoint handler implementation be a Graph Procedure is to ensure that the resulting +web service is statically guaranteed to be non-blocking and to ensure that each request is handled off the +request thread so that long-running computations don't interfere with the service's ability to receive and schedule +incoming requests. This ties together all of Claro's design decisions to make building fundamentally concurrent web +services a trivial task. +
    +

    Starting an HttpServer

    +

    That's it! Now we can actually start the Greeter server that we just implemented. This is as simple as calling the +builtin http::startServerAndAwaitShutdown() consumer. This call effectively drops into an infinite loop, so depending +on how you start it, when you're done and want to bring the service down, you'll have to send a termination signal to +the server process e.g. using ctrl-C.

    +

    Fig 4:

    +
    +
    HttpService Greeter {
    +  genericGreeting: "/genericGreeting",
    +  greeting: "/greeting/{name}"
    +}
    +
    +endpoint_handlers Greeter {
    +  graph provider genericGreeting() -> future<HttpResponse> {
    +    root httpRes <- http::getOk200HttpResponseForJson(@json);
    +    node json    <- EndpointHandlerImpls::GENERIC_GREETING;
    +  }
    +  graph function greeting(name: string) -> future<HttpResponse> {
    +    root httpRes <- http::getOk200HttpResponseForJson(@json);
    +    node json    <- EndpointHandlerImpls::getGreetingForName(name);
    +  }
    +}
    +
    +var greeterServer: HttpServer<Greeter> = http::getBasicHttpServerForPort(8080);
    +_ = greeterServer; # Not starting the server yet.
    +# Finally start the service
    +http::startServerAndAwaitShutdown(greeterServer);
    +
    +
    +

    The below recording is a demonstration this server in action. It first starts up the server (launching the process in +the background), and then sends a couple requests to each endpoint using curl to demonstrate the server in action, and +then finally kills the server.

    +

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

    + + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/http_servers/start_the_server.claro b/http_servers/start_the_server.claro new file mode 100644 index 00000000..de879555 --- /dev/null +++ b/http_servers/start_the_server.claro @@ -0,0 +1,2 @@ +# Finally start the service +http::startServerAndAwaitShutdown(greeterServer); \ 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/BuggyBuggiesAPI.png b/images/BuggyBuggiesAPI.png new file mode 100644 index 0000000000000000000000000000000000000000..39e2949907032a03885537e271ac5c68ff28056a GIT binary patch literal 175843 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

    90u))BNQEVEEw_qH7tl7tz15CliJkU5tuZ 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%0AT(HhWdrr4`($g}z?ic2R(9{iW*U>IxEy4#kkr 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

    }Y{}uIo^HUBF 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 literal 0 HcmV?d00001 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..33ac138a --- /dev/null +++ b/index.html @@ -0,0 +1,279 @@ + + + + + + Welcome to Claro! - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/json_parsing/BUILD b/json_parsing/BUILD new file mode 100644 index 00000000..7b1e133b --- /dev/null +++ b/json_parsing/BUILD @@ -0,0 +1,25 @@ +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "json_parsing", + doc_template = "json_parsing.tmpl.md", + examples = [ + { + "example": "//mdbook_docs/src/module_system/module_apis/static_values:ex-server-config.json", + "executable": False, + "codeblock_css_class": "json", + }, + { + "example": "ex1-format.claro", + "append_output": False, + }, + { + "example": "ex1.claro", + "hidden_setup": "ex1-format.claro", + "resources": { + "ServerConfigJSON": "//mdbook_docs/src/module_system/module_apis/static_values:ex-server-config.json" + }, + }, + ], +) diff --git a/json_parsing/ex1-format.claro b/json_parsing/ex1-format.claro new file mode 100644 index 00000000..0973298a --- /dev/null +++ b/json_parsing/ex1-format.claro @@ -0,0 +1,12 @@ +alias ServerConfig : struct { + server_name: string, + port: int, + logging: struct { + filename: string + }, + database: struct { + host: string, + port: int, + database_name: string + } +} diff --git a/json_parsing/ex1.claro b/json_parsing/ex1.claro new file mode 100644 index 00000000..0840b558 --- /dev/null +++ b/json_parsing/ex1.claro @@ -0,0 +1,15 @@ + +resources::ServerConfigJSON + |> files::readOrPanic(^) + |> var parsedConfig: std::ParsedJson = fromJson(^); + +var parsedResult = unwrap(parsedConfig).result; +if (parsedResult instanceof ServerConfig) { + print("Config has correct format and was parsed successfully!"); + print(strings::repeated("-", 50)); + print("Server Name: {parsedResult.server_name}"); + print("Port: {parsedResult.port}"); +} else { + print("JSON parsing failed!"); + print(parsedResult); +} diff --git a/json_parsing/json_parsing.generated_docs.html b/json_parsing/json_parsing.generated_docs.html new file mode 100644 index 00000000..9d7f46ad --- /dev/null +++ b/json_parsing/json_parsing.generated_docs.html @@ -0,0 +1,309 @@ + + + + + + JSON Parsing - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    JSON Parsing

    +

    Claro strives to make development easier in many ways, and as being able to write programs that interact with the +network is an important goal, Claro has some initial support for automatically generating efficient JSON parsers for +relatively arbitrary formats. If you know the schema of the JSON data that you'll be interacting with, and can describe +it as some Claro struct, then in general you can automatically parse JSON data from a string directly into the Claro +type.

    +

    Claro's JSON parsing is implemented by generating a custom parser for the target data format at compile time. So, in +addition to ergonomic improvements, this approach offers potential performance benefits over a general-purpose JSON +parser.

    +

    For example, the following JSON string could be included in a +Resource File:

    +

    Fig 1:

    +
    +
    {
    +  "server_name": "My Server",
    +  "port": 8080,
    +  "logging": {
    +    "filename": "server.log"
    +  },
    +  "database": {
    +    "host": "localhost",
    +    "port": 5432,
    +    "database_name": "my_database"
    +  }
    +}
    +
    +
    +

    We can represent that JSON format as the following Claro data structure:

    +

    Fig 2:

    +
    +
    alias ServerConfig : struct {
    +  server_name: string,
    +  port: int,
    +  logging: struct {
    +    filename: string
    +  },
    +  database: struct {
    +    host: string,
    +    port: int,
    +    database_name: string
    +  }
    +}
    +
    +
    +

    And now, the JSON string can be parsed by a simple call to the fromJson(...) builtin function:

    +

    Fig 3:

    +
    +
    
    +resources::ServerConfigJSON
    +  |> files::readOrPanic(^)
    +  |> var parsedConfig: std::ParsedJson<ServerConfig> = fromJson(^);
    +
    +var parsedResult = unwrap(parsedConfig).result;
    +if (parsedResult instanceof ServerConfig) {
    +  print("Config has correct format and was parsed successfully!");
    +  print(strings::repeated("-", 50));
    +  print("Server Name: {parsedResult.server_name}");
    +  print("Port:        {parsedResult.port}");
    +} else {
    +  print("JSON parsing failed!");
    +  print(parsedResult);
    +}
    +
    +

    Output:

    +
    Config has correct format and was parsed successfully!
    +--------------------------------------------------
    +Server Name: My Server
    +Port:        8080
    +
    +
    +

    Limitations

    +
    +

    To be clear, Claro's JSON parsing support is currently fairly constrained and doesn't yet support the full range of +possible JSON formats. You'll be warned at compile-time if the format you're attempting to auto-parse is supported or +not. More work will be needed to complete the implementation. If you're interested in contributing to this please +reach out!

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + 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..3f010065 --- /dev/null +++ b/lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html @@ -0,0 +1,346 @@ + + + + + + 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.

    +
    +

    Read more about how Claro prevents data-races here.

    +
    +

    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..bf26ed3f --- /dev/null +++ b/lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html @@ -0,0 +1,273 @@ + + + + + + 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/metaprogramming/BUILD b/metaprogramming/BUILD new file mode 100644 index 00000000..c6ec544f --- /dev/null +++ b/metaprogramming/BUILD @@ -0,0 +1,8 @@ +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "metaprogramming", + doc_template = "metaprogramming.tmpl.md", + examples = [], +) \ No newline at end of file diff --git a/metaprogramming/code_reuse/BUILD b/metaprogramming/code_reuse/BUILD new file mode 100644 index 00000000..0705387f --- /dev/null +++ b/metaprogramming/code_reuse/BUILD @@ -0,0 +1,7 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "code_reuse", + doc_template = "code_reuse.tmpl.md", + examples = [], +) \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/BUILD b/metaprogramming/code_reuse/abstract_modules/BUILD new file mode 100644 index 00000000..5f285b65 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/BUILD @@ -0,0 +1,101 @@ +load(":animal.bzl", "Animal") +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "abstract_modules", + doc_template = "abstract_modules.tmpl.md", + examples = [ + { + "example": "macro_def.bzl", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "dog_and_cat_modules_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "platypus_animal_sounds_impl.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "platypus_module_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "animals_example_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "animals_example.claro", + "deps": { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + "Cat": ":cat", + "Dog": ":dog", + "Platypus": ":platypus", + } + }, + ], +) + +[ + Animal( + name = animal, + api_extensions = [":{0}_cons.claro_module_api".format(animal)], + override = { + "InternalStateAndConstructor": ":{0}_state_and_cons.claro".format(animal), + "MakeNoiseImpl": ":{0}_noise.claro".format(animal), + }, + ) + for animal in ["dog", "cat"] +] +Animal( + name = "platypus", + api_extensions = [":platypus_cons.claro_module_api"], + override = { + "AnimalSoundsImpl": ":platypus_animal_sounds_impl.claro", + "InternalStateAndConstructor": ":platypus_state_and_cons.claro", + }, +) + +claro_binary( + name = "test", + main_file = "animals_example.claro", + deps = { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + "Cat": ":cat", + "Dog": ":dog", + "Platypus": ":platypus", + } +) + + + +genrule( + name = "copy", + outs = ["animal.claro_module_api", "default_animal_sounds_impl.claro", "dog_cons.claro_module_api", "cat_cons.claro_module_api"], + srcs = [ + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:cat_cons.claro_module_api", + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:dog_cons.claro_module_api", + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/macro_animals:animal.claro_module_api", + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_source_code:default_animal_sounds_impl.claro", + ], + cmd = "cp $(SRCS) $(RULEDIR)", +) +genrule( + name = "platypus_cons", + srcs = ["dog_cons.claro_module_api"], + outs = ["platypus_cons.claro_module_api"], + cmd = "cat $(SRCS) > $(OUTS)", +) +genrule( + name = "macro_def_rule", + outs = ["macro_def.bzl"], + srcs = ["animal.bzl"], + cmd = "cat $(SRCS) | sed 's/\\/\\/stdlib.*sounds/:animal_sounds/g' > $(OUTS)", +) \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html b/metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html new file mode 100644 index 00000000..ec8ef892 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html @@ -0,0 +1,411 @@ + + + + + + Abstract Modules - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Abstract Modules

    +

    In the past couple sections we've worked through examples of some fairly complex Build time metaprogramming to generate +Modules that share some common behaviors between them. Having those low-level Build tools in your back pocket is +something that may very well come in handy during your Claro development journey. However, in general, it's worth +acknowledging that there's some inherent complexity in the prior approaches. It's my hope that the community will +standardize around some well-defined set of Build design patterns that are encoded into well-known, standardized +interfaces (Bazel Macros/Rules) to abstract away the low-level complexity underneath.

    +

    In this section, I'll try to demonstrate what such a standardized encoding might look like for the design pattern +demonstrated in the prior sections.

    +

    Limitations of the Approach in the Prior Sections

    +

    The Animal(...) Macro defined in the previous sections was extremely rigid. It encoded exactly one specific code +structure. It was arguably a very useful structure, but if we wanted to create an Animal(...) that deviated even +slightly from the expected structure, you'd either have to go and refactor the Macro definition itself and all usages to +add support for new behaviors, or you'd just have to fall back to manually defining a Module, losing all Build level +code sharing that you were trying to achieve with the standardized Animal(...) Macro.

    +

    All that said, the biggest limitation of the approach in the prior sections is that it was bespoke. While all the +customizability that Build time metaprogramming gives you blows the design space wide open, it also makes it that much +harder for anyone unfamiliar with the domain to follow what's going on.

    +

    Abstracting Away the "Abstract Module" Pattern Itself

    +

    Arguably, the Animal(...) macro from the previous sections could be described as an encoding of an "Abstract Module" +(in a sense vaguely similar to Java's "Abstract Classes" - minus the object-orientation). "Abstract" in the sense that +some portions of all "Animal" Modules are known before even knowing the "concrete Animal" Modules that you'll +specifically build later on. But there's nothing about this concept itself that's unique to "Animals". All sorts of +categories of similar Modules can be imagined, and they could potentially all benefit from a similar "Abstract" base +encoding that later gets specialized for each concrete Module.

    +

    Largely as a draft demonstration of what a standardized encoding of this "Abstract Module" design pattern could look +like, Claro provides a claro_abstract_module(...) Bazel Macro. Now, the +Animal(...) Macro +can be auto-generated in a few lines by simply calling the claro_abstract_module(...) Macro.

    +

    Fig 1:

    +
    +
    # animal.bzl
    +load(
    +    "@claro-lang//stdlib/utils/abstract_modules:abstract_module.bzl",
    +    "claro_abstract_module",
    +)
    +
    +Animal = \
    +    claro_abstract_module(
    +        name = "Animal",
    +        module_api_file = "animal.claro_module_api",
    +        overridable_srcs = {
    +            "AnimalSoundsImpl": ":default_animal_sounds_impl.claro",
    +            "InternalStateAndConstructor": ":default_internal_state.claro",
    +            "MakeNoiseImpl": ":default_make_noise_impl.claro",
    +        },
    +        default_deps = {
    +            "AnimalSounds": ":animal_sounds",
    +        },
    +        default_exports = ["AnimalSounds"],
    +    )
    +
    +
    +

    Override Flexibility

    +

    On top of being a standardized encoding of this design pattern, "Abstract Modules" provide an additional mechanism for +various components of the Module to be override-able. In the Animal = claro_abstract_module(...) declaration above, +the overridable_srcs = {...} arg lists a few different named components that have default implementations provided +as .claro source files that can be optionally overridden by any concrete Animal(...) usages. For the sake of +demonstration, the "Abstract Animal Module" has been decomposed into a relatively fine granularity, allowing significant +customization to downstream users of the Macro.

    +

    So now the Animal(...) macro can be used very similarly as in the previous sections, but with some slightly different +arguments:

    +

    Fig 2:

    +
    +
    # BUILD
    +load(":animal.bzl", "Animal")
    +
    +[
    +    Animal(
    +        name = animal,
    +        api_extensions = [":{0}_cons.claro_module_api".format(animal)],
    +        override = {
    +            "InternalStateAndConstructor": ":{0}_state_and_cons.claro".format(animal),
    +            "MakeNoiseImpl": ":{0}_noise.claro".format(animal),
    +        },
    +    )
    +    for animal in ["dog", "cat"]
    +]
    +
    +# ...
    +
    +
    +

    The first notable detail is that the idea of extending Module APIs is now encoded directly into the "Abstract Module" +Macros returned by claro_abstract_module(...) in the form of the api_extensions = [...] parameter. So now, we didn't +need to manually concatenate api files using a Bazel genrule(...) as we +did in the prior sections. Then, notice that +the concrete cat and dog Animal Modules now implicitly inherit the default AnimalSoundsImpl implementation, while +explicitly overriding InternalStateAndConstructor and MakeNoiseImpl with custom implementations. Now, these Module +definitions can be used exactly the same as they were when defined using the approach(es) from the prior sections.

    +

    As one final motivating example, to demonstrate something that this new Animal(...) implementation can do that the +prior implementation(s) couldn't, we can also define a new Animal Module that overrides the default AnimalSounds +Contract implementation, by overriding AnimalSoundsImpl:

    +

    Fig 3:

    +
    +
    # platypus_animal_sounds_impl.claro
    +implement AnimalSounds::AnimalSounds<State> {
    +  function makeNoise(state: State) -> string {
    +    var name = unwrap(state).name;
    +    if (unwrap(unwrap(state).internal).isWearingFedora) { # https://youtu.be/KFssdwb7dF8?si=Omgf1-D3qIBY6jO9
    +      var codename = name[0];
    +      return "!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent {codename}";
    +    }
    +    return "Chirp Chirp - says {name}";
    +  }
    +}
    +
    +
    +

    Fig 4:

    +
    +
    # BUILD
    +load(":animal.bzl", "Animal")
    +
    +# ...
    +
    +Animal(
    +    name = "platypus",
    +    api_extensions = [":platypus_cons.claro_module_api"],
    +    override = {
    +        "AnimalSoundsImpl": ":platypus_animal_sounds_impl.claro",
    +        "InternalStateAndConstructor": ":platypus_state_and_cons.claro",
    +    },
    +)
    +
    +
    +

    And now, our demo program can start use the platypus Module just as it was using the dog and cat Modules +previously:

    +

    Fig 5:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +# ...
    +
    +claro_binary(
    +    name = "animals_example",
    +    main_file = "animals_example.claro",
    +    deps = {
    +        "AnimalSounds": ":animal_sounds",
    +        "Cat": ":cat",
    +        "Dog": ":dog",
    +        "Platypus": ":platypus",
    +    },
    +)
    +
    +
    +

    Fig 6:

    +
    +
    # animals_example.claro
    +var animals: [oneof<Cat::State, Dog::State, Platypus::State>] = [
    +    Dog::create("Milo", true),
    +    Dog::create("Fido", false),
    +    Cat::create("Garfield", "This is worse than Monday morning."),
    +    Platypus::create("Perry", false),
    +    Platypus::create("Perry", true)
    +  ];
    +
    +for (animal in animals) {
    +  print(AnimalSounds::AnimalSounds::makeNoise(animal));
    +}
    +
    +

    Output:

    +
    Woof! - says Milo
    +Grrrr... - says Fido
    +This is worse than Monday morning. - says Garfield
    +Chirp Chirp - says Perry
    +!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent P
    +
    +
    +

    Additional Knobs & Implementation Details

    +

    The point of this section is really to demonstrate some possibilities available to all Claro users interested in +writing Bazel Macros to encode relatively complex design patterns. And, I think we can agree that being able to +hand-roll the very concept of inheritance without having to make a single change to the Claro compiler itself is a +rather powerful capability!

    +

    But to say it once more, this is all meant as a demonstration, rather than encouragement of specific usage of this +claro_abstract_module(...) Macro. So, we won't dive any further into the implementation details of how this prototype +works, and we won't even go into the full range of capabilities that this prototype currently supports. However, if +you're sufficiently interested that you really wanted to know more, feel free to check out +the implementation +yourself! You'll probably learn a lot about Bazel in the process of reading through it, so it could be enlightening.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/metaprogramming/code_reuse/abstract_modules/animal.bzl b/metaprogramming/code_reuse/abstract_modules/animal.bzl new file mode 100644 index 00000000..6560eedb --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/animal.bzl @@ -0,0 +1,20 @@ +# animal.bzl +load( + "@claro-lang//stdlib/utils/abstract_modules:abstract_module.bzl", + "claro_abstract_module", +) + +Animal = \ + claro_abstract_module( + name = "Animal", + module_api_file = "animal.claro_module_api", + overridable_srcs = { + "AnimalSoundsImpl": ":default_animal_sounds_impl.claro", + "InternalStateAndConstructor": ":default_internal_state.claro", + "MakeNoiseImpl": ":default_make_noise_impl.claro", + }, + default_deps = { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + }, + default_exports = ["AnimalSounds"], + ) diff --git a/metaprogramming/code_reuse/abstract_modules/animals_example.claro b/metaprogramming/code_reuse/abstract_modules/animals_example.claro new file mode 100644 index 00000000..0ae41f24 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/animals_example.claro @@ -0,0 +1,12 @@ +# animals_example.claro +var animals: [oneof] = [ + Dog::create("Milo", true), + Dog::create("Fido", false), + Cat::create("Garfield", "This is worse than Monday morning."), + Platypus::create("Perry", false), + Platypus::create("Perry", true) + ]; + +for (animal in animals) { + print(AnimalSounds::AnimalSounds::makeNoise(animal)); +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/animals_example_BUILD b/metaprogramming/code_reuse/abstract_modules/animals_example_BUILD new file mode 100644 index 00000000..acb4a077 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/animals_example_BUILD @@ -0,0 +1,15 @@ +# BUILD +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary") + +# ... + +claro_binary( + name = "animals_example", + main_file = "animals_example.claro", + deps = { + "AnimalSounds": ":animal_sounds", + "Cat": ":cat", + "Dog": ":dog", + "Platypus": ":platypus", + }, +) \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/cat_noise.claro b/metaprogramming/code_reuse/abstract_modules/cat_noise.claro new file mode 100644 index 00000000..c4dbc02d --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/cat_noise.claro @@ -0,0 +1,4 @@ +# cat_noise.claro +function makeNoiseImpl(cat: State) -> string { + return unwrap(unwrap(cat).internal).favoriteInsult; +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/cat_state_and_cons.claro b/metaprogramming/code_reuse/abstract_modules/cat_state_and_cons.claro new file mode 100644 index 00000000..305638ac --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/cat_state_and_cons.claro @@ -0,0 +1,8 @@ +newtype InternalState : struct { favoriteInsult: string } + +function create(name: string, favoriteInsult: string) -> State { + return State({ + name = name, + internal = InternalState({favoriteInsult = favoriteInsult}) + }); +} diff --git a/metaprogramming/code_reuse/abstract_modules/default_internal_state.claro b/metaprogramming/code_reuse/abstract_modules/default_internal_state.claro new file mode 100644 index 00000000..5e951111 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/default_internal_state.claro @@ -0,0 +1,5 @@ +newtype InternalState : std::Nothing + +function create(name: string) -> State { + return State({name = name, internal = InternalState(std::Nothing)}); +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/default_make_noise_impl.claro b/metaprogramming/code_reuse/abstract_modules/default_make_noise_impl.claro new file mode 100644 index 00000000..e37d5274 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/default_make_noise_impl.claro @@ -0,0 +1,4 @@ +function makeNoiseImpl(state: State) -> string { + _ = state; + return "<..This animal doesn't make any noise..>"; +} diff --git a/metaprogramming/code_reuse/abstract_modules/dog_and_cat_modules_BUILD b/metaprogramming/code_reuse/abstract_modules/dog_and_cat_modules_BUILD new file mode 100644 index 00000000..9a420789 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/dog_and_cat_modules_BUILD @@ -0,0 +1,16 @@ +# BUILD +load(":animal.bzl", "Animal") + +[ + Animal( + name = animal, + api_extensions = [":{0}_cons.claro_module_api".format(animal)], + override = { + "InternalStateAndConstructor": ":{0}_state_and_cons.claro".format(animal), + "MakeNoiseImpl": ":{0}_noise.claro".format(animal), + }, + ) + for animal in ["dog", "cat"] +] + +# ... \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/dog_noise.claro b/metaprogramming/code_reuse/abstract_modules/dog_noise.claro new file mode 100644 index 00000000..4e423528 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/dog_noise.claro @@ -0,0 +1,7 @@ +# dog_noise.claro +function makeNoiseImpl(dog: State) -> string { + if (unwrap(unwrap(dog).internal).isHappy) { + return "Woof!"; + } + return "Grrrr..."; +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/dog_state_and_cons.claro b/metaprogramming/code_reuse/abstract_modules/dog_state_and_cons.claro new file mode 100644 index 00000000..8437b7da --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/dog_state_and_cons.claro @@ -0,0 +1,8 @@ +newtype InternalState : struct { isHappy: boolean } + +function create(name: string, isHappy: boolean) -> State { + return State({ + name = name, + internal = InternalState({isHappy = isHappy}) + }); +} diff --git a/metaprogramming/code_reuse/abstract_modules/platypus_animal_sounds_impl.claro b/metaprogramming/code_reuse/abstract_modules/platypus_animal_sounds_impl.claro new file mode 100644 index 00000000..8579419e --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/platypus_animal_sounds_impl.claro @@ -0,0 +1,11 @@ +# platypus_animal_sounds_impl.claro +implement AnimalSounds::AnimalSounds { + function makeNoise(state: State) -> string { + var name = unwrap(state).name; + if (unwrap(unwrap(state).internal).isWearingFedora) { # https://youtu.be/KFssdwb7dF8?si=Omgf1-D3qIBY6jO9 + var codename = name[0]; + return "!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent {codename}"; + } + return "Chirp Chirp - says {name}"; + } +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/abstract_modules/platypus_module_BUILD b/metaprogramming/code_reuse/abstract_modules/platypus_module_BUILD new file mode 100644 index 00000000..7e243add --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/platypus_module_BUILD @@ -0,0 +1,13 @@ +# BUILD +load(":animal.bzl", "Animal") + +# ... + +Animal( + name = "platypus", + api_extensions = [":platypus_cons.claro_module_api"], + override = { + "AnimalSoundsImpl": ":platypus_animal_sounds_impl.claro", + "InternalStateAndConstructor": ":platypus_state_and_cons.claro", + }, +) diff --git a/metaprogramming/code_reuse/abstract_modules/platypus_state_and_cons.claro b/metaprogramming/code_reuse/abstract_modules/platypus_state_and_cons.claro new file mode 100644 index 00000000..631ddc02 --- /dev/null +++ b/metaprogramming/code_reuse/abstract_modules/platypus_state_and_cons.claro @@ -0,0 +1,8 @@ +newtype InternalState : struct { isWearingFedora: boolean } + +function create(name: string, isWearingFedora: boolean) -> State { + return State({ + name = name, + internal = InternalState({isWearingFedora = isWearingFedora}) + }); +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/code_reuse.generated_docs.html b/metaprogramming/code_reuse/code_reuse.generated_docs.html new file mode 100644 index 00000000..50857301 --- /dev/null +++ b/metaprogramming/code_reuse/code_reuse.generated_docs.html @@ -0,0 +1,249 @@ + + + + + + (Literal) Code Reuse - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    (Literal) Code Reuse

    +
    +

    Claro enables you to literally reuse source code throughout your program rather than offering a list of complex +type system features that indirectly enable code reuse like other languages do (e.g. via inheritance in OO +languages, or liberal use of higher order functions in FP languages).

    +

    It will take a bit of conceptual groundwork (unlearning long-held assumptions) to understand Claro's approach here, but +in exchange, you'll be given some powerful new ways to think about "what" a Claro program is.

    +
    +

    Rather than trying to impose specific code organization design patterns on you (e.g. Java trying to force use of +inheritance) Claro instead aims to be flexible enough to allow you full control of using and encoding your own +organizational design patterns (potentially including inheritance if you felt so inclined).

    +

    Probably the most fundamental idea that you'll need to internalize to fully understand Claro's larger design in a deep +way is the relationship that a file containing Claro source code actually has with the final resulting program. This is +a subtle point. It's very possible to write a good amount of Claro code without noticing anything unusual in this +regard.

    +

    Rather than going into an overly detailed explanation, read on to the following sections for some detailed +examples of various different ways you can dynamically construct Claro programs at Build time.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/metaprogramming/code_reuse/reusing_module_apis/BUILD b/metaprogramming/code_reuse/reusing_module_apis/BUILD new file mode 100644 index 00000000..8e2cc773 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/BUILD @@ -0,0 +1,84 @@ +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files( + ["animals_example.claro"], + visibility = ["//mdbook_docs/src/metaprogramming/code_reuse:__subpackages__"], +) + +doc_with_validated_examples( + name = "reusing_module_apis", + doc_template = "reusing_module_apis.tmpl.md", + examples = [ + { + "example": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals_unusable:animal.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": ":unusable_BUILD_without_exports", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:dog_cons.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:cat_cons.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": ":BUILD_without_exports", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "animals_example_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "animals_example.claro", + "deps": { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + "Cat": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:cat", + "Dog": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:dog", + } + }, + { + "example": ":list_comp_BUILD_without_exports", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "macro_def", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": ":macro_BUILD_without_exports", + "executable": False, + "codeblock_css_class": "python", + }, + ], +) + +[ + genrule( + name = name + "_rule", + outs = [name], + srcs = [build_file], + cmd = "cat $(SRCS) | sed '/^exports_files/d; s/\\/\\/stdlib.*sounds/:animal_sounds/g; /visibility/d' > $(OUTS)", + visibility = ["//mdbook_docs/src/metaprogramming/code_reuse/reusing_source_code:__pkg__"], + ) + for name, build_file in { + "unusable_BUILD_without_exports": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals_unusable:BUILD", + "BUILD_without_exports": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:BUILD", + "list_comp_BUILD_without_exports": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals:BUILD", + "macro_BUILD_without_exports": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/macro_animals:BUILD", + "macro_def": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/macro_animals:animals.bzl", + }.items() +] \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals/BUILD b/metaprogramming/code_reuse/reusing_module_apis/animals/BUILD new file mode 100644 index 00000000..7b2a7356 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals/BUILD @@ -0,0 +1,39 @@ +# BUILD +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary") +exports_files( + ["BUILD", "animal.claro_module_api", "cat_cons.claro_module_api", "dog_cons.claro_module_api"], + visibility = ["//mdbook_docs/src/metaprogramming/code_reuse:__subpackages__"], +) + +genrule( + name = "dog_api", + srcs = ["animal.claro_module_api", "dog_cons.claro_module_api"], + outs = ["dog.claro_module_api"], + cmd = "cat $(SRCS) > $(OUTS)" +) +claro_module( + name = "dog", + module_api_file = ":dog_api", # Updated to use the API with a constructor. + srcs = ["dog.claro"], + deps = {"AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds"}, + # `AnimalSounds` is referenced in this Module's API so must be exported. + exports = ["AnimalSounds"], + visibility = ["//mdbook_docs/src/metaprogramming/code_reuse:__subpackages__"], +) + +genrule( + name = "cat_api", + srcs = ["animal.claro_module_api", "cat_cons.claro_module_api"], + outs = ["cat.claro_module_api"], + cmd = "cat $(SRCS) > $(OUTS)" +) +claro_module( + name = "cat", + module_api_file = ":cat_api", # Updated to use the API with a constructor. + srcs = ["cat.claro"], + deps = {"AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds"}, + # `AnimalSounds` is referenced in this Module's API so must be exported. + exports = ["AnimalSounds"], + visibility = ["//mdbook_docs/src/metaprogramming/code_reuse:__subpackages__"], +) +# ... diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals/animal.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/animals/animal.claro_module_api new file mode 100644 index 00000000..affb407d --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals/animal.claro_module_api @@ -0,0 +1,9 @@ +# animal.claro_module_api +opaque newtype InternalState + +newtype State : struct { + name: string, + internal: InternalState +} + +implement AnimalSounds::AnimalSounds; diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals/cat.claro b/metaprogramming/code_reuse/reusing_module_apis/animals/cat.claro new file mode 100644 index 00000000..52fb629f --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals/cat.claro @@ -0,0 +1,16 @@ +# cat.claro +newtype InternalState : struct { favoriteInsult: string } + +implement AnimalSounds::AnimalSounds { + function makeNoise(cat: State) -> string { + # Cats are mean, they're going to say mean things no matter what. + return unwrap(unwrap(cat).internal).favoriteInsult; + } +} + +function create(name: string, favoriteInsult: string) -> State { + return State({ + name = name, + internal = InternalState({favoriteInsult = favoriteInsult}) + }); +} diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals/cat_cons.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/animals/cat_cons.claro_module_api new file mode 100644 index 00000000..b92d1718 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals/cat_cons.claro_module_api @@ -0,0 +1,2 @@ +# cat_cons.claro_module_api +function create(name: string, favoriteInsult: string) -> State; \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals/dog.claro b/metaprogramming/code_reuse/reusing_module_apis/animals/dog.claro new file mode 100644 index 00000000..f128563d --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals/dog.claro @@ -0,0 +1,18 @@ +# dog.claro +newtype InternalState : struct { isHappy: boolean } + +implement AnimalSounds::AnimalSounds { + function makeNoise(dog: State) -> string { + if (unwrap(unwrap(dog).internal).isHappy) { + return "Woof!"; + } + return "Grrrr..."; + } +} + +function create(name: string, isHappy: boolean) -> State { + return State({ + name = name, + internal = InternalState({isHappy = isHappy}) + }); +} diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals/dog_cons.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/animals/dog_cons.claro_module_api new file mode 100644 index 00000000..c887c57a --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals/dog_cons.claro_module_api @@ -0,0 +1,2 @@ +# dog_cons.claro_module_api +function create(name: string, isHappy: boolean) -> State; \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals_example.claro b/metaprogramming/code_reuse/reusing_module_apis/animals_example.claro new file mode 100644 index 00000000..28b9be56 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals_example.claro @@ -0,0 +1,10 @@ +# animals_example.claro +var animals: [oneof] = [ + Dog::create("Milo", true), + Dog::create("Fido", false), + Cat::create("Garfield", "This is worse than Monday morning.") + ]; + +for (animal in animals) { + print(AnimalSounds::AnimalSounds::makeNoise(animal)); +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals_example_BUILD b/metaprogramming/code_reuse/reusing_module_apis/animals_example_BUILD new file mode 100644 index 00000000..147491ac --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals_example_BUILD @@ -0,0 +1,14 @@ +# BUILD +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary") + +# ... + +claro_binary( + name = "animals_example", + main_file = "animals_example.claro", + deps = { + "AnimalSounds": ":animal_sounds", + "Cat": ":cat", + "Dog": ":dog", + }, +) \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/BUILD b/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/BUILD new file mode 100644 index 00000000..e8b7666c --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/BUILD @@ -0,0 +1,21 @@ +# BUILD +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary") +exports_files(["BUILD", "animal.claro_module_api"], visibility = ["//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis:__pkg__"]) + +claro_module( + name = "dog", + module_api_file = "animal.claro_module_api", + srcs = ["dog.claro"], + deps = {"AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds"}, + # `AnimalSounds` is referenced in this Module's API so must be exported. + exports = ["AnimalSounds"], +) +claro_module( + name = "cat", + module_api_file = "animal.claro_module_api", + srcs = ["cat.claro"], + deps = {"AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds"}, + # `AnimalSounds` is referenced in this Module's API so must be exported. + exports = ["AnimalSounds"], +) +# ... \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/animal.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/animal.claro_module_api new file mode 100644 index 00000000..affb407d --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/animal.claro_module_api @@ -0,0 +1,9 @@ +# animal.claro_module_api +opaque newtype InternalState + +newtype State : struct { + name: string, + internal: InternalState +} + +implement AnimalSounds::AnimalSounds; diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/cat.claro b/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/cat.claro new file mode 100644 index 00000000..7ce3aab1 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/cat.claro @@ -0,0 +1,9 @@ +# cat.claro +newtype InternalState : struct { favoriteInsult: string } + +implement AnimalSounds::AnimalSounds { + function makeNoise(cat: State) -> string { + # Cats are mean, they're going to say mean things no matter what. + return unwrap(unwrap(cat).internal).favoriteInsult; + } +} diff --git a/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/dog.claro b/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/dog.claro new file mode 100644 index 00000000..52d93460 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/animals_unusable/dog.claro @@ -0,0 +1,11 @@ +# dog.claro +newtype InternalState : struct { isHappy: boolean } + +implement AnimalSounds::AnimalSounds { + function makeNoise(dog: State) -> string { + if (unwrap(unwrap(dog).internal).isHappy) { + return "Woof!"; + } + return "Grrrr..."; + } +} diff --git a/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/BUILD b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/BUILD new file mode 100644 index 00000000..c249ca88 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/BUILD @@ -0,0 +1,23 @@ +# BUILD +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary") +exports_files(["BUILD"], visibility = ["//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis:__pkg__"]) + +[ # This list-comprehension should feel very reminiscent of Claro's own comprehensions. + [ # Generate multiple targets at once by declaring them in a list or some other collection. + genrule( + name = "{0}_api".format(name), + srcs = ["animal.claro_module_api", "{0}_cons.claro_module_api".format(name)], + outs = ["{0}.claro_module_api".format(name)], + cmd = "cat $(SRCS) > $(OUTS)" + ), + claro_module( + name = name, + module_api_file = ":{0}_api".format(name), + srcs = srcs, + deps = {"AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds"}, + # `AnimalSounds` is referenced in this Module's API so must be exported. + exports = ["AnimalSounds"], + ) + ] + for name, srcs in {"dog": ["dog.claro"], "cat": ["cat.claro"]}.items() +] \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/animal.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/animal.claro_module_api new file mode 100644 index 00000000..affb407d --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/animal.claro_module_api @@ -0,0 +1,9 @@ +# animal.claro_module_api +opaque newtype InternalState + +newtype State : struct { + name: string, + internal: InternalState +} + +implement AnimalSounds::AnimalSounds; diff --git a/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/cat.claro b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/cat.claro new file mode 100644 index 00000000..52fb629f --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/cat.claro @@ -0,0 +1,16 @@ +# cat.claro +newtype InternalState : struct { favoriteInsult: string } + +implement AnimalSounds::AnimalSounds { + function makeNoise(cat: State) -> string { + # Cats are mean, they're going to say mean things no matter what. + return unwrap(unwrap(cat).internal).favoriteInsult; + } +} + +function create(name: string, favoriteInsult: string) -> State { + return State({ + name = name, + internal = InternalState({favoriteInsult = favoriteInsult}) + }); +} diff --git a/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/cat_cons.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/cat_cons.claro_module_api new file mode 100644 index 00000000..b92d1718 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/cat_cons.claro_module_api @@ -0,0 +1,2 @@ +# cat_cons.claro_module_api +function create(name: string, favoriteInsult: string) -> State; \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/dog.claro b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/dog.claro new file mode 100644 index 00000000..f128563d --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/dog.claro @@ -0,0 +1,18 @@ +# dog.claro +newtype InternalState : struct { isHappy: boolean } + +implement AnimalSounds::AnimalSounds { + function makeNoise(dog: State) -> string { + if (unwrap(unwrap(dog).internal).isHappy) { + return "Woof!"; + } + return "Grrrr..."; + } +} + +function create(name: string, isHappy: boolean) -> State { + return State({ + name = name, + internal = InternalState({isHappy = isHappy}) + }); +} diff --git a/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/dog_cons.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/dog_cons.claro_module_api new file mode 100644 index 00000000..c887c57a --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/list_comprehension_animals/dog_cons.claro_module_api @@ -0,0 +1,2 @@ +# dog_cons.claro_module_api +function create(name: string, isHappy: boolean) -> State; \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/macro_animals/BUILD b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/BUILD new file mode 100644 index 00000000..288757ae --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/BUILD @@ -0,0 +1,6 @@ +# BUILD +load(":animals.bzl", "Animal") +exports_files(glob(["*"]), visibility = ["//mdbook_docs/src/metaprogramming/code_reuse:__subpackages__"]) + +Animal(name = "dog", srcs = ["dog.claro"]) +Animal(name = "cat", srcs = ["cat.claro"]) \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/macro_animals/animal.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/animal.claro_module_api new file mode 100644 index 00000000..affb407d --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/animal.claro_module_api @@ -0,0 +1,9 @@ +# animal.claro_module_api +opaque newtype InternalState + +newtype State : struct { + name: string, + internal: InternalState +} + +implement AnimalSounds::AnimalSounds; diff --git a/metaprogramming/code_reuse/reusing_module_apis/macro_animals/animals.bzl b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/animals.bzl new file mode 100644 index 00000000..8142e379 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/animals.bzl @@ -0,0 +1,18 @@ +# animals.bzl +load("@claro-lang//:rules.bzl", "claro_module") + +def Animal(name, srcs): + native.genrule( # In .bzl files you'll need to prefix builtin rules with `native.` + name = "{0}_api".format(name), + srcs = ["animal.claro_module_api", "{0}_cons.claro_module_api".format(name)], + outs = ["{0}.claro_module_api".format(name)], + cmd = "cat $(SRCS) > $(OUTS)" + ) + claro_module( + name = name, + module_api_file = ":{0}_api".format(name), + srcs = srcs, + deps = {"AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds"}, + # This Module is referenced in this Module's API so must be exported. + exports = ["AnimalSounds"], + ) diff --git a/metaprogramming/code_reuse/reusing_module_apis/macro_animals/cat.claro b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/cat.claro new file mode 100644 index 00000000..52fb629f --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/cat.claro @@ -0,0 +1,16 @@ +# cat.claro +newtype InternalState : struct { favoriteInsult: string } + +implement AnimalSounds::AnimalSounds { + function makeNoise(cat: State) -> string { + # Cats are mean, they're going to say mean things no matter what. + return unwrap(unwrap(cat).internal).favoriteInsult; + } +} + +function create(name: string, favoriteInsult: string) -> State { + return State({ + name = name, + internal = InternalState({favoriteInsult = favoriteInsult}) + }); +} diff --git a/metaprogramming/code_reuse/reusing_module_apis/macro_animals/cat_cons.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/cat_cons.claro_module_api new file mode 100644 index 00000000..b92d1718 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/cat_cons.claro_module_api @@ -0,0 +1,2 @@ +# cat_cons.claro_module_api +function create(name: string, favoriteInsult: string) -> State; \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/macro_animals/dog.claro b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/dog.claro new file mode 100644 index 00000000..f128563d --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/dog.claro @@ -0,0 +1,18 @@ +# dog.claro +newtype InternalState : struct { isHappy: boolean } + +implement AnimalSounds::AnimalSounds { + function makeNoise(dog: State) -> string { + if (unwrap(unwrap(dog).internal).isHappy) { + return "Woof!"; + } + return "Grrrr..."; + } +} + +function create(name: string, isHappy: boolean) -> State { + return State({ + name = name, + internal = InternalState({isHappy = isHappy}) + }); +} diff --git a/metaprogramming/code_reuse/reusing_module_apis/macro_animals/dog_cons.claro_module_api b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/dog_cons.claro_module_api new file mode 100644 index 00000000..c887c57a --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/macro_animals/dog_cons.claro_module_api @@ -0,0 +1,2 @@ +# dog_cons.claro_module_api +function create(name: string, isHappy: boolean) -> State; \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html b/metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html new file mode 100644 index 00000000..f27b13dc --- /dev/null +++ b/metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html @@ -0,0 +1,495 @@ + + + + + + Reusing Module APIs - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Reusing Module APIs

    +
    +

    This is a long section, but it's foundational to a deep understanding of the full expressive power you have available to +you at Build time. You're encouraged to read through this in full! But remember, while you may sometimes end up +consuming Modules that were defined using these advanced features, you'll never be forced to directly use any +Build time metaprogramming feature yourself. These will always be conveniences for more advanced users.

    +
    +

    Multiple Implementations of a Module API

    +

    The most basic, and also most important form of reuse in Claro codebases will be in the form of multiple Modules sharing +a common API. This doesn't require any special syntax or setup whatsoever, once you've defined a valid +.claro_module_api file any number of Modules may implement that API. Each claro_module(...) definition simply needs +to declare its module_api_file = ... to reference the same exact .claro_module_api file.

    +

    For example, the following API:

    +

    Fig 1:

    +
    +
    # animal.claro_module_api
    +opaque newtype InternalState
    +
    +newtype State : struct {
    +  name: string,
    +  internal: InternalState
    +}
    +
    +implement AnimalSounds::AnimalSounds<State>;
    +
    +
    +

    Can be implemented multiple times, by more than one Module:

    +

    Fig 2:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +claro_module(
    +    name = "dog",
    +    module_api_file = "animal.claro_module_api",
    +    srcs = ["dog.claro"],
    +    deps = {"AnimalSounds": ":animal_sounds"},
    +    # `AnimalSounds` is referenced in this Module's API so must be exported.
    +    exports = ["AnimalSounds"],
    +)
    +claro_module(
    +    name = "cat",
    +    module_api_file = "animal.claro_module_api",
    +    srcs = ["cat.claro"],
    +    deps = {"AnimalSounds": ":animal_sounds"},
    +    # `AnimalSounds` is referenced in this Module's API so must be exported.
    +    exports = ["AnimalSounds"],
    +)
    +# ...
    +
    +
    +

    In general, the Build targets declared above will be totally sufficient!

    +

    Going Deeper

    +

    The API definition above declares that any Module implementing the API will export a type that includes a name field, +but may configure its own internal state as it wishes. To make this example more compelling, if you read the API +closely, however, you may notice that as presently defined there would be no way for any dependent Module to actually +interact with this API as defined, because there's no way to instantiate the opaque newtype InternalState1.

    +

    So, to actually make this API useful, implementing Modules would need to somehow explicitly export some Procedure that +gives dependents the ability to instantiate the InternalState. You'll notice that care has been taken to make sure +that Claro's API syntax is flexible enough to allow for multiple APIs to be conceptually (or in this case, literally) +concatenated to create one larger API for a Module to implement. So that's exactly what we'll do here, with each module +exporting an additional procedure from its API to act as a "constructor" for its opaque type.

    +

    Fig 3:

    +
    +
    # dog_cons.claro_module_api
    +function create(name: string, isHappy: boolean) -> State;
    +
    +
    +

    Fig 4:

    +
    +
    # cat_cons.claro_module_api
    +function create(name: string, favoriteInsult: string) -> State;
    +
    +
    +

    Fig 5:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +    ["BUILD", "animal.claro_module_api", "cat_cons.claro_module_api", "dog_cons.claro_module_api"],
    +)
    +
    +genrule(
    +    name = "dog_api",
    +    srcs = ["animal.claro_module_api", "dog_cons.claro_module_api"],
    +    outs = ["dog.claro_module_api"],
    +    cmd = "cat $(SRCS) > $(OUTS)"
    +)
    +claro_module(
    +    name = "dog",
    +    module_api_file = ":dog_api", # Updated to use the API with a constructor.
    +    srcs = ["dog.claro"],
    +    deps = {"AnimalSounds": ":animal_sounds"},
    +    # `AnimalSounds` is referenced in this Module's API so must be exported.
    +    exports = ["AnimalSounds"],
    +)
    +
    +genrule(
    +    name = "cat_api",
    +    srcs = ["animal.claro_module_api", "cat_cons.claro_module_api"],
    +    outs = ["cat.claro_module_api"],
    +    cmd = "cat $(SRCS) > $(OUTS)"
    +)
    +claro_module(
    +    name = "cat",
    +    module_api_file = ":cat_api", # Updated to use the API with a constructor.
    +    srcs = ["cat.claro"],
    +    deps = {"AnimalSounds": ":animal_sounds"},
    +    # `AnimalSounds` is referenced in this Module's API so must be exported.
    +    exports = ["AnimalSounds"],
    +)
    +# ...
    +
    +
    +
    +

    In the future claro_module(...) will accept a list of .claro_module_api files instead of a single file to make this +pattern easier to access without having to manually drop down to a genrule(...) to concatenate API files.

    +
    +

    And now, importantly, multiple Modules implementing the same API can coexist in the same Claro program with no conflict!

    +

    Fig 6:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +# ...
    +
    +claro_binary(
    +    name = "animals_example",
    +    main_file = "animals_example.claro",
    +    deps = {
    +        "AnimalSounds": ":animal_sounds",
    +        "Cat": ":cat",
    +        "Dog": ":dog",
    +    },
    +)
    +
    +
    +

    Fig 7:

    +
    +
    # animals_example.claro
    +var animals: [oneof<Cat::State, Dog::State>] = [
    +    Dog::create("Milo", true),
    +    Dog::create("Fido", false),
    +    Cat::create("Garfield", "This is worse than Monday morning.")
    +  ];
    +
    +for (animal in animals) {
    +  print(AnimalSounds::AnimalSounds::makeNoise(animal));
    +}
    +
    +

    Output:

    +
    Woof!
    +Grrrr...
    +This is worse than Monday morning.
    +
    +
    +
    +

    Read more about Dynamic Dispatch if +you're confused how the above Contract Procedure call works.

    +
    +

    Expressing the Above Build Targets More Concisely

    +

    Now, you'd be right to think that the above Build target declarations are extremely verbose. And potentially worse, they +also contain much undesirable duplication that would have to kept in sync manually over time. Thankfully, Bazel provides +many ways to address both of these issues.

    +

    Remember that Bazel's BUILD files are written using Starlark, a subset of Python, so we have a significant amount of +flexibility available to us when declaring Build targets! We'll walk through a few different options for defining these +targets much more concisely.

    +

    Using List Comprehension to Define Multiple Similar Targets at Once

    +

    The very first thing we'll notice is that the vast majority of these targets are duplicated. So, as programmers, our +first thought should be to ask how we can factor out the common logic, to avoid repeating ourselves. The below rewritten +BUILD file does a much better job of making the similarities between the Cat and Dog modules explicit, and also +prevents them from drifting apart accidentally over time.

    +

    Fig 8:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +[ # This list-comprehension should feel very reminiscent of Claro's own comprehensions.
    +    [ # Generate multiple targets at once by declaring them in a list or some other collection.
    +        genrule(
    +            name = "{0}_api".format(name),
    +            srcs = ["animal.claro_module_api", "{0}_cons.claro_module_api".format(name)],
    +            outs = ["{0}.claro_module_api".format(name)],
    +            cmd = "cat $(SRCS) > $(OUTS)"
    +        ),
    +        claro_module(
    +            name = name,
    +            module_api_file = ":{0}_api".format(name),
    +            srcs = srcs,
    +            deps = {"AnimalSounds": ":animal_sounds"},
    +            # `AnimalSounds` is referenced in this Module's API so must be exported.
    +            exports = ["AnimalSounds"],
    +        )
    +    ]
    +    for name, srcs in {"dog": ["dog.claro"], "cat": ["cat.claro"]}.items()
    +]
    +
    +
    +

    Declaring a Macro in a .bzl File to Make This Factored Out Build Logic Portable

    +

    Now let's say that you wanted to declare another "Animal" in a totally separate package in your project. You could +easily copy-paste the Build targets found in the previous BUILD file... but of course, this would invalidate our goal +of avoiding duplication. So instead, as programmers our spider-senses should be tingling that we should factor this +common logic not just into the loop (list comprehension), but into a full-blown function that can be reused and called +from anywhere in our project. Bazel thankfully gives us access to defining so-called +"Macros" that fill exactly this purpose2.

    +

    The Build targets in the prior examples could be factored out into a Macro definition in a .bzl (Bazel extension file) +like so:

    +

    Fig 9:

    +
    +
    # animals.bzl
    +load("@claro-lang//:rules.bzl", "claro_module")
    +
    +def Animal(name, srcs):
    +    native.genrule( # In .bzl files you'll need to prefix builtin rules with `native.`
    +        name = "{0}_api".format(name),
    +        srcs = ["animal.claro_module_api", "{0}_cons.claro_module_api".format(name)],
    +        outs = ["{0}.claro_module_api".format(name)],
    +        cmd = "cat $(SRCS) > $(OUTS)"
    +    )
    +    claro_module(
    +        name = name,
    +        module_api_file = ":{0}_api".format(name),
    +        srcs = srcs,
    +        deps = {"AnimalSounds": ":animal_sounds"},
    +        # This Module is referenced in this Module's API so must be exported.
    +        exports = ["AnimalSounds"],
    +    )
    +
    +
    +

    And then, the macro can be used from BUILD files like so3:

    +

    Fig 10:

    +
    +
    # BUILD
    +load(":animals.bzl", "Animal")
    +
    +Animal(name = "dog", srcs = ["dog.claro"])
    +Animal(name = "cat", srcs = ["cat.claro"])
    +
    +
    +

    It couldn't possibly get much more concise than this! If you find yourself in a situation where you'll be defining lots +of very similar Modules, it's highly recommended that you at least consider whether an approach similar to this one will +work for you.

    +

    Swapping Dependencies at Build Time Based on Build Flags

    +

    TODO(steving) I think that I probably want to move this to be its own top-level section.

    +

    TODO(steving) Fill out this section describing how this is effectively Dependency Injection handled at Build time rather +than depending on heavyweight DI frameworks.

    +
    +
    1 +

    For more context, read about Opaque Types.

    +
    +
    2 +

    It's highly recommended to start with Macros, but if you find that a Macro is getting a lot of use (for example if +you're publishing it for external consumption) you may find it beneficial to convert your Macro into a Bazel +Rule. Bazel Rules have much nicer usage +ergonomics as they enable Bazel to enforce certain higher level constraints such as requiring that certain parameters +only accept files with a certain suffix. However, Bazel Rules are much more complicated to define than Macros so +this should really be left to very advanced Bazel users.

    +
    +
    3 +

    In practice, if you want a Bazel Macro to be reusable outside the Build package in which its .bzl file is +defined, you'll need to use fully qualified target labels. E.g. //full/path/to:target rather than :target, as the +latter is a "relative" label whose meaning is dependent on the Build package the Macro is used in, which is +usually not what you want.

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/metaprogramming/code_reuse/reusing_source_code/BUILD b/metaprogramming/code_reuse/reusing_source_code/BUILD new file mode 100644 index 00000000..4c50b387 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/BUILD @@ -0,0 +1,115 @@ +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") +load("//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/macro_animals:animals.bzl", "Animal") + +exports_files(["default_animal_sounds_impl.claro"], visibility = ["//mdbook_docs/src/metaprogramming/code_reuse/abstract_modules:__pkg__"]) + +doc_with_validated_examples( + name = "reusing_source_code", + doc_template = "reusing_source_code.tmpl.md", + examples = [ + { + "example": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis:animals_example.claro", + "deps": { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + "Cat": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:cat", + "Dog": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/animals:dog", + } + }, + { + "example": "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis:macro_BUILD_without_exports", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "cat.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": ":demo_output", + "executable": False, + }, + { + "example": "get_message_with_name.claro", + "hidden_setup": ["setup.claro", "cat-defer.claro"], + "deps": { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + }, + "append_output": False, + }, + { + "example": "example_shared_src_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "cat-defer.claro", + "hidden_setup": ["setup.claro", "get_message_with_name.claro"], + "deps": { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + }, + "append_output": False, + }, + { + "example": "default_animal_sounds_impl.claro", + "hidden_setup": ["setup.claro", "cat-inheritance.claro"], + "deps": { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + }, + "append_output": False, + }, + { + "example": "cat-inheritance.claro", + "hidden_setup": ["setup.claro", "default_animal_sounds_impl.claro"], + "deps": { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + }, + "append_output": False, + }, + { + "example": "example_inheritance_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + ], +) + +Animal(name = "cat", srcs = ["cat-impl.claro"]) +Animal(name = "dog", srcs = ["dog.claro"]) + +claro_binary( + name = "demo", + main_file = "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis:animals_example.claro", + deps = { + "AnimalSounds": "//stdlib/utils/abstract_modules/example/animal:animal_sounds", + "Cat": ":cat", + "Dog": ":dog", + } +) +genrule( + name = "demo_output", + outs = ["demo_output.txt"], + srcs = [":demo_deploy.jar"], + cmd = "$(JAVA) -jar $(SRCS) > $(OUTS)", + tools = ["@bazel_tools//tools/jdk:current_java_runtime"], + toolchains = ["@bazel_tools//tools/jdk:current_java_runtime"], +) + +genrule( + name = "copy", + outs = ["{0}.claro_module_api".format(name) for name in ["animal", "cat_cons", "dog_cons"]], + srcs = [ + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/macro_animals:animal.claro_module_api", + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/macro_animals:cat_cons.claro_module_api", + "//mdbook_docs/src/metaprogramming/code_reuse/reusing_module_apis/macro_animals:dog_cons.claro_module_api", + ], + cmd = "cp $(SRCS) $(RULEDIR)", +) + +genrule( + name = "cat_impl", + outs = ["cat-impl.claro"], + srcs = ["cat.claro"], + cmd = "cat $(SRCS) | sed 's/\\$$//g' > $(OUTS)", +) \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_source_code/cat-defer.claro b/metaprogramming/code_reuse/reusing_source_code/cat-defer.claro new file mode 100644 index 00000000..ccdebd96 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/cat-defer.claro @@ -0,0 +1,16 @@ +# cat.claro +$$newtype InternalState : struct { favoriteInsult: string } +$$ +implement AnimalSounds::AnimalSounds { + function makeNoise(cat: State) -> string { + var noise = unwrap(unwrap(cat).internal).favoriteInsult; + return getMessageWithName(noise, cat); # Analogous code repeated in dog.claro. + } +} +$$ +$$function create(name: string, favoriteInsult: string) -> State { +$$ return State({ +$$ name = name, +$$ internal = InternalState({favoriteInsult = favoriteInsult}) +$$ }); +$$} diff --git a/metaprogramming/code_reuse/reusing_source_code/cat-inheritance.claro b/metaprogramming/code_reuse/reusing_source_code/cat-inheritance.claro new file mode 100644 index 00000000..bf578225 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/cat-inheritance.claro @@ -0,0 +1,14 @@ +# cat.claro +$$newtype InternalState : struct { favoriteInsult: string } +$$ +function makeNoiseImpl(cat: State) -> string { + # No more code duplication. + return unwrap(unwrap(cat).internal).favoriteInsult; +} +$$ +$$function create(name: string, favoriteInsult: string) -> State { +$$ return State({ +$$ name = name, +$$ internal = InternalState({favoriteInsult = favoriteInsult}) +$$ }); +$$} diff --git a/metaprogramming/code_reuse/reusing_source_code/cat.claro b/metaprogramming/code_reuse/reusing_source_code/cat.claro new file mode 100644 index 00000000..c21a84f0 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/cat.claro @@ -0,0 +1,17 @@ +# cat.claro +newtype InternalState : struct { favoriteInsult: string } + +implement AnimalSounds::AnimalSounds { + function makeNoise(cat: State) -> string { + # Cats are mean, they're going to say mean things no matter what. + var noise = unwrap(unwrap(cat).internal).favoriteInsult; + return "{noise} - says {unwrap(cat).name}"; # Analogous code repeated in dog.claro. + } +} +$$ +$$function create(name: string, favoriteInsult: string) -> State { +$$ return State({ +$$ name = name, +$$ internal = InternalState({favoriteInsult = favoriteInsult}) +$$ }); +$$} diff --git a/metaprogramming/code_reuse/reusing_source_code/default_animal_sounds_impl.claro b/metaprogramming/code_reuse/reusing_source_code/default_animal_sounds_impl.claro new file mode 100644 index 00000000..024c53c7 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/default_animal_sounds_impl.claro @@ -0,0 +1,6 @@ +# default_animal_sounds_impl.claro +implement AnimalSounds::AnimalSounds { + function makeNoise(state: State) -> string { + return "{makeNoiseImpl(state)} - says {unwrap(state).name}"; + } +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_source_code/dog.claro b/metaprogramming/code_reuse/reusing_source_code/dog.claro new file mode 100644 index 00000000..a4a40f04 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/dog.claro @@ -0,0 +1,21 @@ +# dog.claro +newtype InternalState : struct { isHappy: boolean } + +implement AnimalSounds::AnimalSounds { + function makeNoise(dog: State) -> string { + var noise: string; + if (unwrap(unwrap(dog).internal).isHappy) { + noise = "Woof!"; + } else { + noise = "Grrrr..."; + } + return "{noise} - says {unwrap(dog).name}"; # Analogous code in cat.claro. + } +} + +function create(name: string, isHappy: boolean) -> State { + return State({ + name = name, + internal = InternalState({isHappy = isHappy}) + }); +} diff --git a/metaprogramming/code_reuse/reusing_source_code/example_inheritance_BUILD b/metaprogramming/code_reuse/reusing_source_code/example_inheritance_BUILD new file mode 100644 index 00000000..561ff084 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/example_inheritance_BUILD @@ -0,0 +1,6 @@ +# BUILD +load(":animals.bzl", "Animal") + +# An example of **LITERALLY** reusing code. +Animal(name = "dog", srcs = ["dog.claro", "default_animal_sounds_impl.claro"]) +Animal(name = "cat", srcs = ["cat.claro", "default_animal_sounds_impl.claro"]) \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_source_code/example_shared_src_BUILD b/metaprogramming/code_reuse/reusing_source_code/example_shared_src_BUILD new file mode 100644 index 00000000..d7f12724 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/example_shared_src_BUILD @@ -0,0 +1,6 @@ +# BUILD +load(":animals.bzl", "Animal") + +# An example of **LITERALLY** reusing code. +Animal(name = "dog", srcs = ["dog.claro", "get_message_with_name.claro"]) +Animal(name = "cat", srcs = ["cat.claro", "get_message_with_name.claro"]) \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_source_code/get_message_with_name.claro b/metaprogramming/code_reuse/reusing_source_code/get_message_with_name.claro new file mode 100644 index 00000000..9fe7647f --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/get_message_with_name.claro @@ -0,0 +1,5 @@ +# get_message_with_name.claro +function getMessageWithName(message: string, state: State) -> string { + var name = unwrap(state).name; # All animal States have a top-level `name` field. + return "{message} - says {name}"; +} \ No newline at end of file diff --git a/metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html b/metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html new file mode 100644 index 00000000..3fe40c31 --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html @@ -0,0 +1,430 @@ + + + + + + Reusing Source Code - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Reusing Source Code

    +

    Continuing to consider the "Animals" example from the +previous section, let's consider a simple refactoring.

    +

    As a reminder, previously, calls to AnimalSounds::makeNoise(...) produced very simple output:

    +

    Fig 1:

    +
    +
    # animals_example.claro
    +var animals: [oneof<Cat::State, Dog::State>] = [
    +    Dog::create("Milo", true),
    +    Dog::create("Fido", false),
    +    Cat::create("Garfield", "This is worse than Monday morning.")
    +  ];
    +
    +for (animal in animals) {
    +  print(AnimalSounds::AnimalSounds::makeNoise(animal));
    +}
    +
    +

    Output:

    +
    Woof!
    +Grrrr...
    +This is worse than Monday morning.
    +
    +
    +

    As currently defined...

    +

    Fig 2:

    +
    +
    # BUILD
    +load(":animals.bzl", "Animal")
    +
    +Animal(name = "dog", srcs = ["dog.claro"])
    +Animal(name = "cat", srcs = ["cat.claro"])
    +
    +
    +

    ...if we wanted to include the animals' names in the printed lines. We'd have to go and manually update each +Module's implementation, making changes to both dog.claro and cat.claro (and importantly, to any other animals we'd +want to share this updated behavior):

    +

    Fig 3:

    +
    +
    # cat.claro
    +newtype InternalState : struct { favoriteInsult: string }
    +
    +implement AnimalSounds::AnimalSounds<State> {
    +  function makeNoise(cat: State) -> string {
    +    # Cats are mean, they're going to say mean things no matter what.
    +    var noise = unwrap(unwrap(cat).internal).favoriteInsult;
    +    return "{noise} - says {unwrap(cat).name}"; # Analogous code repeated in dog.claro.
    +  }
    +}
    +
    +function create(name: string, favoriteInsult: string) -> State {
    +  return State({
    +    name = name,
    +    internal = InternalState({favoriteInsult = favoriteInsult})
    +  });
    +}
    +
    +
    +

    And now, after making the changes, rerunning will give us the updated output we were looking for:

    +

    Fig 4:

    +
    +
    Woof! - says Milo
    +Grrrr... - says Fido
    +This is worse than Monday morning. - says Garfield
    +
    +
    +

    Repetition may be ok in some situations, but in many others, it would represent a risk of potential maintenance costs.

    +

    Of course, you could always factor out the common logic into a new Module that can be depended on and called explicitly +by each animal implementation (and in fact, this is absolutely the recommended approach in most situations). But, +since we're interested in digging into possible Build time metaprogramming capabilities in this section, by way of +example, we'll walk through some other ways you could go about sharing this base implementation across +Modules that potentially wouldn't have been immediately obvious, coming from other languages.

    +

    claro_module(...) Accepts Multiple Srcs

    +

    The first thing to understand is that a Module's implementation can be spread across multiple source files. This +means that different .claro files can satisfy different portions of a Module's API. And, more importantly for our +current purposes, this means that instead of creating a whole new Module to contain the common logic factored out of +dog.claro and cat.claro, we could instead define a single new file containing that factored out logic...

    +

    Fig 5:

    +
    +
    # get_message_with_name.claro
    +function getMessageWithName(message: string, state: State) -> string {
    +  var name = unwrap(state).name; # All animal States have a top-level `name` field.
    +  return "{message} - says {name}";
    +}
    +
    +
    +

    ...include it in the srcs of BOTH Module declarations...

    +

    Fig 6:

    +
    +
    # BUILD
    +load(":animals.bzl", "Animal")
    +
    +# An example of **LITERALLY** reusing code.
    +Animal(name = "dog", srcs = ["dog.claro", "get_message_with_name.claro"])
    +Animal(name = "cat", srcs = ["cat.claro", "get_message_with_name.claro"])
    +
    +
    +

    ...and then directly call the factored out function in each Module's implementation!

    +

    Fig 7:

    +
    +
    # cat.claro
    +newtype InternalState : struct { favoriteInsult: string }
    +
    +implement AnimalSounds::AnimalSounds<State> {
    +  function makeNoise(cat: State) -> string {
    +    var noise = unwrap(unwrap(cat).internal).favoriteInsult;
    +    return getMessageWithName(noise, cat); # Analogous code repeated in dog.claro.
    +  }
    +}
    +
    +function create(name: string, favoriteInsult: string) -> State {
    +  return State({
    +    name = name,
    +    internal = InternalState({favoriteInsult = favoriteInsult})
    +  });
    +}
    +
    +
    +

    This is an example of LITERAL code reuse - something that's generally not actually possible in other languages. +In fact, you could take this a step further by factoring out this shared src file directly into the Animal(...) +Macro implementation +to automatically make the getMessageWithName(...) function available to all Animal(...) declarations.

    +
    +

    The key to this all working is that when the reused function references the State Type, it refers to either +Dog::State or Cat::State depending on the context in which it's compiled. And the only field accessed via +unwrap(state).name is valid for both types. In a sense, this form of Build time metaprogramming has given this +strongly, statically typed programming language the ability to drop down into dynamic "duck typing" features when it's +convenient to us. This utterly blurs the lines between the two typing paradigms while still maintaining all of the +static type validations because all of this is happening at Build time, with Compile time's type-checking validations +still to follow!

    +
    +

    "Inheritance" - Inverting the Prior Example

    +

    The prior example is a demonstration of the "composition" model where, in order to share code, you explicitly +compose new code around the shared code by manually calling into the shared code.

    +

    But, of course, while composition is generally recommended over the inverted "inheritance" model, many people prefer the +convenience that inheritance-based designs offer. Specifically, as you saw in the prior example, composition is more +verbose, as you have to explicitly opt in to code sharing, whereas inheritance makes this implicit.

    +

    Now, instead of each Module implementing the AnimalSounds Contract manually, a single default implementation could be +written...

    +

    Fig 8:

    +
    +
    # default_animal_sounds_impl.claro
    +implement AnimalSounds::AnimalSounds<State> {
    +  function makeNoise(state: State) -> string {
    +    return "{makeNoiseImpl(state)} - says {unwrap(state).name}";
    +  }
    +}
    +
    +
    +

    ...and then each Animal Module simply needs to define the expected internal implementation function makeNoiseImpl(...) +to provide its custom logic...

    +

    Fig 9:

    +
    +
    # cat.claro
    +newtype InternalState : struct { favoriteInsult: string }
    +
    +function makeNoiseImpl(cat: State) -> string {
    +  # No more code duplication.
    +  return unwrap(unwrap(cat).internal).favoriteInsult;
    +}
    +
    +function create(name: string, favoriteInsult: string) -> State {
    +  return State({
    +    name = name,
    +    internal = InternalState({favoriteInsult = favoriteInsult})
    +  });
    +}
    +
    +
    +

    ...and again, the "inherited" code can be included in the srcs of BOTH Module declarations...

    +

    Fig 10:

    +
    +
    # BUILD
    +load(":animals.bzl", "Animal")
    +
    +# An example of **LITERALLY** reusing code.
    +Animal(name = "dog", srcs = ["dog.claro", "default_animal_sounds_impl.claro"])
    +Animal(name = "cat", srcs = ["cat.claro", "default_animal_sounds_impl.claro"])
    +
    +
    +
    +

    Modern software engineering best practices have been progressing towards the consensus view that you should +prefer composition over inheritance. +But, even though this preference is generally shared by Claro's author, it shouldn't necessarily indicate that +inheritance is impossible to achieve. While Claro won't ever add first-class support for inheritance to the language, +Claro explicitly leaves these sorts of design decisions to you and provides Build time metaprogramming support to allow +the community to encode these sorts of organizational design patterns themselves to be available for whoever decides +they have a good reason for it. You shouldn't need to be hostage to the language designer's agreement or prioritization +to be able to extend the code organization patterns that can be expressed in the language.

    +
    +

    Further Flexibility

    +

    If you've made it this far, well done! You may never need to use these "power user" features, but you should now have +the core conceptual background that you'll need to use Bazel to encode your own relatively sophisticated custom +organizational design patterns in your Claro programs using Build time metaprogramming!

    +

    Of course, there's always another step deeper into such waters. By continuing on to the next section, we'll continue to +develop the Animals example even further. In particular, we'll demonstrate one such sophisticated design pattern +called "Abstract Modules" that fully generalizes all of the functionality described in the past two sections, and +goes even further to provide significant configurability controls on top of what you've seen in the example +Animal(...) macro so far.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/metaprogramming/code_reuse/reusing_source_code/setup.claro b/metaprogramming/code_reuse/reusing_source_code/setup.claro new file mode 100644 index 00000000..870a583b --- /dev/null +++ b/metaprogramming/code_reuse/reusing_source_code/setup.claro @@ -0,0 +1,4 @@ +newtype State : struct { + name: string, + internal: InternalState +} \ No newline at end of file diff --git a/metaprogramming/metaprogramming.generated_docs.html b/metaprogramming/metaprogramming.generated_docs.html new file mode 100644 index 00000000..30ac9e3f --- /dev/null +++ b/metaprogramming/metaprogramming.generated_docs.html @@ -0,0 +1,257 @@ + + + + + + Build Time Metaprogramming - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Build Time Metaprogramming

    +

    Claro takes the stance that relatively sophisticated Build-time logic can be a great enabler of significant flexibility. +In particular, even very simple Build-time code generation can be used to achieve extremely convenient code reuse +without forcing the core Claro programming language itself to become more and more complex over time to directly +represent more and more complex design patterns.

    +

    This section seeks to demonstrate how Bazel's configuration language (that you'll already be using to declare +claro_module(...) and claro_binary(...) targets in BUILD files) can be used to write logic that will +programmatically determine at Build-time the program structure that will be converted to an executable at Compile-time.

    +

    Build vs Compile Phases

    +

    The first distinction to make here is a subtle difference between "Build" and "Compile" time in the Claro ecosystem. +All statically compiled languages have a "Compile" phase where the final program's source code is evaluated by the +language's compiler and eventually converted into an actual executable, and this is no different in Claro. The unique +aspect of Claro is that it's been intentionally designed with a tight integration with its Build system +Bazel in mind, and so your program's source files are first processed +by Bazel, potentially executing arbitrary Build-time logic of your choosing before any source code is ever passed to +the Claro compiler itself.

    +

    As we'll go into more detail on in this section, Bazel enables you to write all sorts of arbitrary file-manipulations or +script executions during this Build phase. This enables you to do any manner of source code transformations or even code +generation from statically validated sources of truth. And, thanks to Bazel's correctness guarantees, you're able to +string together arbitrary graphs of Build logic that will be reliably reproduced on each Build (with each step +benefiting from Bazel's caching support for incremental Builds). Only after all Build steps have completed successfully +does the Build phase end and the Compile phase begin with the final dependency graph of claro_binary(...) and +claro_module(...) targets evaluated by the Claro compiler.

    +

    Continue on to the next sections where we'll go into more details to demonstrate some ways you can leverage Build-time +metaprogramming to gain more dynamic control over the Claro programs you create.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/metaprogramming/templating/BUILD b/metaprogramming/templating/BUILD new file mode 100644 index 00000000..53b84872 --- /dev/null +++ b/metaprogramming/templating/BUILD @@ -0,0 +1,64 @@ +load("//stdlib/utils/expand_template:expand_template.bzl", "expand_template") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +expand_template( + name = "templating_tmpl_md", + template = "templating.tmpl.md.tmpl", + out = "templating.tmpl.md", + substitutions = { + "HELLO_WORLD_PAGE_MD_EXAMPLE": "//mdbook_docs/src/chapter_1:expand_hello_world", + }, + visibility = ["//mdbook_docs/src/metaprogramming/templating:__pkg__"], +) + +doc_with_validated_examples( + name = "templating", + doc_template = "templating.tmpl.md", + examples = [ + { + "example": "//mdbook_docs/src/metaprogramming/templating/examples:ex1.claro.tmpl", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "examples_BUILD_without_exports", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "//mdbook_docs/src/chapter_1:hello_world.tmpl.md", + "executable": False, + "codeblock_css_class": "md", + }, + { + "example": "hello_world_BUILD_without_exports", + "executable": False, + "codeblock_css_class": "python", + }, + ], +) + +genrule( + name = "examples_BUILD_without_exports", + outs = ["examples_BUILD"], + srcs = ["//mdbook_docs/src/metaprogramming/templating/examples:BUILD"], + cmd = "cat $(SRCS) | sed '/^exports_files/d; /visibility/d' > $(OUTS)", +) + +genrule( + name = "ex1_renamed", + outs = ["ex1.claro"], + srcs = ["//mdbook_docs/src/metaprogramming/templating/examples:ex1.claro"], + cmd = "cat $(SRCS) | sed 's/\\.tmpl//g' > $(OUTS)", +) + +genrule( + name = "hello_world_BUILD_without_exports", + outs = ["hello_world_BUILD"], + srcs = ["//mdbook_docs/src/chapter_1:BUILD"], + cmd = "cat $(SRCS) | sed '/^exports_files/d' > $(OUTS)", +) diff --git a/metaprogramming/templating/examples/BUILD b/metaprogramming/templating/examples/BUILD new file mode 100644 index 00000000..8b08d323 --- /dev/null +++ b/metaprogramming/templating/examples/BUILD @@ -0,0 +1,23 @@ +# BUILD +load("@claro-lang//stdlib/utils/expand_template:expand_template.bzl", "expand_template") +exports_files(["ex1.claro.tmpl", "BUILD"]) + +expand_template( + name = "ex1", + template = "ex1.claro.tmpl", + out = "ex1.claro", + substitutions = { + # Replace {{HOMEPAGE_HTML}} with the contents of the html file generated below. + "HOMEPAGE_HTML": "homepage_single_line.html", + }, + visibility = ["//mdbook_docs/src/metaprogramming/templating:__pkg__"], +) + +# Learn more about genrule at: https://bazel.build/reference/be/general#genrule +genrule( + name = "homepage_single_line", + srcs = ["homepage.html"], + outs = ["homepage_single_line.html"], + # Bash script to remove all newlines and escape double-quotes. + cmd = "cat $(SRCS) | tr '\\n' ' ' | sed 's/\"/\\\\\"/g' > $(OUTS)", +) \ No newline at end of file diff --git a/metaprogramming/templating/examples/ex1.claro.tmpl b/metaprogramming/templating/examples/ex1.claro.tmpl new file mode 100644 index 00000000..dcfe56df --- /dev/null +++ b/metaprogramming/templating/examples/ex1.claro.tmpl @@ -0,0 +1,4 @@ +# ex1.claro.tmpl +provider homepageHtml() -> string { + return "{{HOMEPAGE_HTML}}"; +} \ No newline at end of file diff --git a/metaprogramming/templating/examples/homepage.html b/metaprogramming/templating/examples/homepage.html new file mode 100644 index 00000000..23999999 --- /dev/null +++ b/metaprogramming/templating/examples/homepage.html @@ -0,0 +1,12 @@ + + + + + + My Website + + +

    Welcome to my website!

    +

    This is a very basic homepage.

    + + \ No newline at end of file diff --git a/metaprogramming/templating/templating.generated_docs.html b/metaprogramming/templating/templating.generated_docs.html new file mode 100644 index 00000000..7ee90e12 --- /dev/null +++ b/metaprogramming/templating/templating.generated_docs.html @@ -0,0 +1,356 @@ + + + + + + Source Code Templates - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Source Code Templates

    +

    The first, extremely simple Build-time Metaprogramming example that we'll look at is one way to create and use source +code templates at Build time.

    +

    As a contrived example, imagine that you're writing an +HTTP Service's homepage +Endpoint Handler where you want to +just serve some hardcoded static HTML representing our site's trivial homepage. Of course, you may decide to just +directly write out the HTML string inline, but it would probably be more useful to create a separate homepage.html +file so that you can get IDE support for your HTML. You could of course depend on homepage.html as a Resource file to +read at runtime, but we could also opt to directly embed the file's HTML contents into the source code at Build time so +that we don't have to spend any time reading the file while the program is running.

    +

    To do this, we could make our source file a template with a format string {{HOMEPAGE_HTML}} to be replaced:

    +

    Fig 1:

    +
    +
    # ex1.claro.tmpl
    +provider homepageHtml() -> string {
    +  return "{{HOMEPAGE_HTML}}";
    +}
    +
    +
    +

    expand_template(...) Macro

    +

    Bazel provides ample tooling for you to write this functionality entirely from scratch, but to make it easier to get up +and running, Claro provides an expand_template(...) Bazel macro out of the box. The BUILD file below expands the +template by converting the given homepage.html file to a single line with all " escaped and inserting it into the +ex1.claro.tmpl:

    +

    Fig 2:

    +
    +
    # BUILD
    +load("@claro-lang//stdlib/utils/expand_template:expand_template.bzl", "expand_template")
    +
    +expand_template(
    +    name = "ex1",
    +    template = "ex1.claro.tmpl",
    +    out = "ex1.claro",
    +    substitutions = {
    +        # Replace {{HOMEPAGE_HTML}} with the contents of the html file generated below.
    +        "HOMEPAGE_HTML": "homepage_single_line.html",
    +    },
    +)
    +
    +# Learn more about genrule at: https://bazel.build/reference/be/general#genrule
    +genrule(
    +    name = "homepage_single_line",
    +    srcs = ["homepage.html"],
    +    outs = ["homepage_single_line.html"],
    +    # Bash script to remove all newlines and escape double-quotes.
    +    cmd = "cat $(SRCS) | tr '\\n' ' ' | sed 's/\"/\\\\\"/g' > $(OUTS)",
    +)
    +
    +
    +

    And now you end up with a valid Claro source file:

    +

    Fig 3:

    +
    +
    # ex1.claro
    +provider homepageHtml() -> string {
    +  return "<!DOCTYPE html> <html lang=\"en\"> <head>     <meta charset=\"UTF-8\">     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">     <title>My Website</title> </head> <body> <h1>Welcome to my website!</h1> <p>This is a very basic homepage.</p> </body> </html>";
    +}
    +
    +
    +

    (Aside) Claro's Entire Docs Site is Generated at Build Time Using This Templating Approach!

    +

    Bazel's support for this Build time execution is an extremely powerful tool that can be used for all sorts of things +where you'd like to derive some files (program source code or otherwise) from some other file(s) representing canonical +source(s) of truth.

    +

    In fact, this docs site was dynamically generated at Build time by first executing each and every sample Claro code +snippet and templating the snippet's output into the markdown file that eventually gets converted to HTML. To make this +example more explicit, this site's Hello, World! page was generated +from literally the below template:

    +

    Fig 4:

    +
    +
    # Hello, World!
    +
    +{{EX1}}
    +
    +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.
    +
    +
    +

    And the corresponding BUILD file contains the following doc_with_validated_examples(...) declaration which is built +on top of the expand_template(...) macro described above:

    +

    Fig 5:

    +
    +
    # BUILD
    +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples")
    +
    +doc_with_validated_examples(
    +    name = "hello_world",
    +    doc_template = "hello_world.tmpl.md",
    +    examples = ["hello_world.claro"],
    +)
    +
    +
    +

    Which generates this final output markdown:

    +

    Fig 6:

    +
    +
    # Hello, World!
    +
    +#### _Fig 1:_
    +---
    +```claro
    +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.
    +
    +
    +
    +

    This is a powerful example of Build-time Metaprogramming being put to good use. This approach is not just convenient, +but provides some legitimate guarantees that wherever this approach was used, if the site deploys, then the sample code +on the site is guaranteed to actually be valid because otherwise Bazel would have failed the build! You can imagine +how useful this is for an actively in-development language where things are subject to potentially change at any time.

    +

    Feel free to dig into the source code of Claro's docs site +here if you want to get +more into the weeds on this example.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/metaprogramming/templating/templating.tmpl.md.tmpl b/metaprogramming/templating/templating.tmpl.md.tmpl new file mode 100644 index 00000000..a0749074 --- /dev/null +++ b/metaprogramming/templating/templating.tmpl.md.tmpl @@ -0,0 +1,65 @@ +# Source Code Templates + +The first, extremely simple Build-time Metaprogramming example that we'll look at is one way to create and use source +code templates at Build time. + +As a contrived example, imagine that you're writing an +[HTTP Service's](../../http_servers/http_servers.generated_docs.md) homepage +[Endpoint Handler](../../http_servers/http_servers.generated_docs.md#implementing-endpoint-handlers) where you want to +just serve some hardcoded static HTML representing our site's trivial homepage. Of course, you may decide to just +directly write out the HTML string inline, but it would probably be more useful to create a separate `homepage.html` +file so that you can get IDE support for your HTML. You could of course depend on `homepage.html` as a Resource file to +read at runtime, but we could also opt to directly embed the file's HTML contents into the source code at Build time so +that we don't have to spend any time reading the file while the program is running. + +To do this, we could make our source file a template with a format string `{{HOMEPAGE_HTML}}` to be replaced: + +{{EX1}} + +## `expand_template(...)` Macro + +Bazel provides ample tooling for you to write this functionality entirely from scratch, but to make it easier to get up +and running, Claro provides an `expand_template(...)` Bazel macro out of the box. The `BUILD` file below expands the +template by converting the given `homepage.html` file to a single line with all `"` escaped and inserting it into the +`ex1.claro.tmpl`: + +{{EX2}} + +And now you end up with a valid Claro source file: + +{{EX3}} + +## (Aside) Claro's Entire Docs Site is Generated at Build Time Using This Templating Approach! + +Bazel's support for this Build time execution is an extremely powerful tool that can be used for all sorts of things +where you'd like to derive some files (program source code or otherwise) from some other file(s) representing canonical +source(s) of truth. + +In fact, **this docs site** was dynamically generated at Build time by first executing each and every sample Claro code +snippet and templating the snippet's output into the markdown file that eventually gets converted to HTML. To make this +example more explicit, this site's [Hello, World!](../../chapter_1/hello_world.generated_docs.md) page was generated +from literally the below template: + +{{EX4}} + +And the corresponding BUILD file contains the following `doc_with_validated_examples(...)` declaration which is built +on top of the `expand_template(...)` macro described above: + +{{EX5}} + +Which generates this final output markdown: + +#### _Fig 6:_ +--- +
    {{HELLO_WORLD_PAGE_MD_EXAMPLE}}
    +--- + +This is a powerful example of Build-time Metaprogramming being put to good use. This approach is not just convenient, +but provides some legitimate guarantees that wherever this approach was used, if the site deploys, then the sample code +on the site is guaranteed to _actually_ be valid because otherwise Bazel would have failed the build! You can imagine +how useful this is for an actively in-development language where things are subject to potentially change at any time. + +Feel free to dig into the source code of Claro's docs site +here if you want to get +more into the weeds on this example. + diff --git a/module_system/BUILD b/module_system/BUILD new file mode 100644 index 00000000..e286831d --- /dev/null +++ b/module_system/BUILD @@ -0,0 +1,45 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "module_system", + doc_template = "module_system.tmpl.md", + examples = [ + { + "example": "//mdbook_docs/src/module_system/examples:example.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "//mdbook_docs/src/module_system/examples:contract_impl.claro", + "hidden_setup": "//mdbook_docs/src/module_system/examples:example_api_defs.claro_module_api", + "append_output": False, + }, + { + "example": "//mdbook_docs/src/module_system/examples:pretty_print.claro", + "hidden_setup": [ + "//mdbook_docs/src/module_system/examples:example_api_defs.claro_module_api", + "//mdbook_docs/src/module_system/examples:contract_impl.claro", + ], + "append_output": False, + "deps": { + "Boxes": "//mdbook_docs/src/module_system/examples:box", + } + }, + { + "example": "demo_module_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "demo_binary_w_dep_on_demo_module_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "//mdbook_docs/src/module_system/examples:test.claro", + "deps": { + "Ex": "//mdbook_docs/src/module_system/examples:example", + } + }, + ], +) diff --git a/module_system/demo_binary_w_dep_on_demo_module_BUILD b/module_system/demo_binary_w_dep_on_demo_module_BUILD new file mode 100644 index 00000000..99a2f733 --- /dev/null +++ b/module_system/demo_binary_w_dep_on_demo_module_BUILD @@ -0,0 +1,13 @@ +# BUILD + +load("@claro-lang//:rules.bzl", "claro_binary") + +... + +claro_binary( + name = "test", + main_file = "test.claro", + deps = { + "Ex": ":example", + }, +) diff --git a/module_system/demo_module_BUILD b/module_system/demo_module_BUILD new file mode 100644 index 00000000..d6c3cb88 --- /dev/null +++ b/module_system/demo_module_BUILD @@ -0,0 +1,26 @@ +# BUILD + +load("@claro-lang//:rules.bzl", "claro_module") + +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. +) + +# ... diff --git a/module_system/examples/BUILD b/module_system/examples/BUILD new file mode 100644 index 00000000..94d9d45e --- /dev/null +++ b/module_system/examples/BUILD @@ -0,0 +1,44 @@ +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary") + +exports_files([ + "contract_impl.claro", + "example_api_defs.claro_module_api", + "pretty_print.claro", + "test.claro", +]) + +genrule( + name = "concat_api", + outs = ["example.claro_module_api"], + srcs = ["example_api_defs.claro_module_api", "example_api_stubs.claro_module_api"], + cmd = "cat $(location example_api_defs.claro_module_api) $(location example_api_stubs.claro_module_api) > $(OUTS)", + visibility = ["//mdbook_docs/src/module_system:__pkg__"], +) + +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"], + visibility = ["//mdbook_docs/src/module_system:__pkg__"], +) + +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..1d897350 --- /dev/null +++ b/module_system/examples/contract_impl.claro @@ -0,0 +1,10 @@ +# 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)); + } +} diff --git a/module_system/examples/example_api_defs.claro_module_api b/module_system/examples/example_api_defs.claro_module_api new file mode 100644 index 00000000..e32c428e --- /dev/null +++ b/module_system/examples/example_api_defs.claro_module_api @@ -0,0 +1,8 @@ +# example.claro_module_api + +contract Numeric { + function add(lhs: T, rhs: T) -> T; + function multiply(lhs: T, rhs: T) -> T; +} + +newtype Foo : int diff --git a/module_system/examples/example_api_stubs.claro_module_api b/module_system/examples/example_api_stubs.claro_module_api new file mode 100644 index 00000000..30ea0040 --- /dev/null +++ b/module_system/examples/example_api_stubs.claro_module_api @@ -0,0 +1,3 @@ +implement Numeric; + +consumer prettyPrint(lhs: Foo); \ No newline at end of file diff --git a/module_system/examples/pretty_print.claro b/module_system/examples/pretty_print.claro new file mode 100644 index 00000000..2f645eff --- /dev/null +++ b/module_system/examples/pretty_print.claro @@ -0,0 +1,8 @@ +# pretty_print.claro + +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..2fa25f5a --- /dev/null +++ b/module_system/examples/test.claro @@ -0,0 +1,10 @@ +# 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); diff --git a/module_system/module_apis/BUILD b/module_system/module_apis/BUILD new file mode 100644 index 00000000..1d5b12f9 --- /dev/null +++ b/module_system/module_apis/BUILD @@ -0,0 +1,6 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "module_apis", + doc_template = "module_apis.tmpl.md", +) diff --git a/module_system/module_apis/flags/BUILD b/module_system/module_apis/flags/BUILD new file mode 100644 index 00000000..62d9de0b --- /dev/null +++ b/module_system/module_apis/flags/BUILD @@ -0,0 +1,71 @@ +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "flags", + doc_template = "flags.tmpl.md", + examples = [ + { + "example": "flag_only.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "flag_only_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex1-test.claro", + "deps": {"Config": ":config"}, + }, + { + "example": "ex1.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex1-impl.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex1-test2.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + +claro_module( + name = "config", + module_api_file = "flag_only.claro_module_api", +) + +claro_module( + name = "config_with_subject", + module_api_file = "ex1.claro_module_api", + srcs = ["ex1-impl.claro"], +) + +claro_binary( + name = "demo", + main_file = "ex1-test.claro", + deps = {"Config": ":config"}, +) + +claro_binary( + name = "demo2", + main_file = "ex1-test2.claro", + deps = {"Config": ":config_with_subject"}, +) + +genrule( + name = "flag_only_api", + outs = ["flag_only.claro_module_api"], + srcs = ["ex1.claro_module_api"], + cmd = ''' + echo -n '# ex1.claro_module_api\n\n' > $(OUTS) \ + && cat $(location ex1.claro_module_api) | grep -e env -e "command line" >> $(OUTS) + ''' +) diff --git a/module_system/module_apis/flags/ex1-impl.claro b/module_system/module_apis/flags/ex1-impl.claro new file mode 100644 index 00000000..386ab46f --- /dev/null +++ b/module_system/module_apis/flags/ex1-impl.claro @@ -0,0 +1,10 @@ +provider static_SUBJECT() -> string { + # `env` here is referring to the flag defined in this module's API. + match (env) { + case "dev" -> return "DEVS"; + case "prod" -> return "Users"; + # If the flag wasn't set, it will default to the empty string. + case "" -> return "is anyone out there?"; + case _ -> return env; + } +} \ No newline at end of file diff --git a/module_system/module_apis/flags/ex1-test.claro b/module_system/module_apis/flags/ex1-test.claro new file mode 100644 index 00000000..927ed447 --- /dev/null +++ b/module_system/module_apis/flags/ex1-test.claro @@ -0,0 +1,2 @@ +# ex1-test.claro +Config::env |> print("env: \"{^}\""); \ No newline at end of file diff --git a/module_system/module_apis/flags/ex1-test2.claro b/module_system/module_apis/flags/ex1-test2.claro new file mode 100644 index 00000000..beb39db7 --- /dev/null +++ b/module_system/module_apis/flags/ex1-test2.claro @@ -0,0 +1,2 @@ +# ex1-test2.claro +Config::SUBJECT |> print("Hello, {^}!"); \ No newline at end of file diff --git a/module_system/module_apis/flags/ex1.claro_module_api b/module_system/module_apis/flags/ex1.claro_module_api new file mode 100644 index 00000000..d876500b --- /dev/null +++ b/module_system/module_apis/flags/ex1.claro_module_api @@ -0,0 +1,4 @@ +# Set this flag on the command line. +flag env: string; + +static SUBJECT: string; \ No newline at end of file diff --git a/module_system/module_apis/flags/flag_only_BUILD b/module_system/module_apis/flags/flag_only_BUILD new file mode 100644 index 00000000..3b52d4cf --- /dev/null +++ b/module_system/module_apis/flags/flag_only_BUILD @@ -0,0 +1,14 @@ +load("//@claro-lang:rules.bzl", "claro_module", "claro_binary") + +# This module is the one defining the `env` Flag. +claro_module( + name = "config", + module_api_file = "ex1.claro_module_api", + # Notice no srcs are specified as Flags do not require a provider like other Static Values do. +) + +claro_binary( + name = "demo", + main_file = "ex1-test.claro", + deps = {"Config": ":config"}, +) \ No newline at end of file diff --git a/module_system/module_apis/flags/flags.generated_docs.html b/module_system/module_apis/flags/flags.generated_docs.html new file mode 100644 index 00000000..b71e8932 --- /dev/null +++ b/module_system/module_apis/flags/flags.generated_docs.html @@ -0,0 +1,362 @@ + + + + + + Flags - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Flags

    +

    An incredibly common pattern in many software projects is parsing command line flags on startup to configure the +behavior of a program. For example in backend web services the same service frequently gets reconfigured via flags to +run in various different environments (e.g. test/dev/prod). However, in spite of the pattern's universality, most +languages seem to ignore the fact and leave Flag parsing as an exercise for the user. This realistically leaves users +either running off to download some 3rd-party library or writing some often poorly maintained boilerplate parsing code +themselves. Claro aims to provide a lightweight Flag parsing mechanism as a first-class language feature so that you can +skip most of the manual toil for such a simple need.

    +

    Claro's Flags are a special case of Static Values that can be +defined and exported by a Module API1:

    +

    Fig 1:

    +
    +
    # ex1.claro_module_api
    +
    +# Set this flag on the command line.
    +flag env: string;
    +
    +
    +

    Then, just like any other Static Value, it can be referenced directly by anyone with a dependency on the defining Module +as in the example below:

    +

    Fig 2:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module", "claro_binary")
    +
    +# This module is the one defining the `env` Flag.
    +claro_module(
    +    name = "config",
    +    module_api_file = "ex1.claro_module_api",
    +    # Notice no srcs are specified as Flags do not require a provider like other Static Values do.
    +)
    +
    +claro_binary(
    +    name = "demo",
    +    main_file = "ex1-test.claro",
    +    deps = {"Config": ":config"},
    +)
    +
    +
    +

    Fig 3:

    +
    +
    # ex1-test.claro
    +Config::env |> print("env: \"{^}\"");
    +
    +

    Output:

    +
    env: ""
    +
    +
    +

    Flags are different than general Static Values simply in the way their values are instantiated. Rather than implementing +a provider that will be automatically run to instantiate the value, Flags are actually automatically parsed from the +command line args passed to the program at runtime. In the example above, the Flag wasn't explicitly set when the +program was run, so the value was defaulted to the empty string.

    +

    Setting a Flag Value on the Command Line

    +

    As there are multiple ways to run Claro programs during development, you'll need to know how to actually set Flag values +using each approach.

    +

    Passing Flags to Programs Executed via bazel run ...

    +

    Of course, as you've seen in the +Getting Started Guide +the easiest way to run a Claro program during development is using the bazel run ... command. But because Bazel +itself accepts command line Flags, you'll need to explicitly indicate which command line args should be consumed by +Bazel and which should be passed along to the Claro program. You'll do this by simply using a standalone --. Bazel +consumes every arg to the left, and anything following gets passed along to the program you're trying to run.

    +

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

    + +

    Passing Flags to Deploy Jar

    +

    Instead, you can build your program as an executable "Deploy Jar" and execute the Jar using the java command, passing +command line Flags as you would to any other command:

    +

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

    + +

    Deriving Static Values From Flags

    +

    Now, the power of Flags is often exposed when used to determine the initialization of Static Values. For example, +expanding upon the simple env example above, we could export another Static Value, and determine its value based on +whatever value was assigned to the env Flag on the command line.

    +

    Fig 4:

    +
    +
    # Set this flag on the command line.
    +flag env: string;
    +
    +static SUBJECT: string;
    +
    +
    +

    Fig 5:

    +
    +
    provider static_SUBJECT() -> string {
    +  # `env` here is referring to the flag defined in this module's API.
    +  match (env) {
    +    case "dev" -> return "DEVS";
    +    case "prod" -> return "Users";
    +    # If the flag wasn't set, it will default to the empty string.
    +    case "" -> return "is anyone out there?";
    +    case _ -> return env;
    +  }
    +}
    +
    +
    +

    And now, a test program could reference the Static Value, and the program's output will be dependent on the Flag value +passed on the command line at runtime:

    +

    Fig 6:

    +
    +
    # ex1-test2.claro
    +Config::SUBJECT |> print("Hello, {^}!");
    +
    +
    +

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

    + +

    Supported Flag Types

    +

    Claro has to manually emit logic to parse command line args, and as such there's currently only support for parsing the +following basic types that are most likely to be found in command line args:

    +
      +
    • boolean
    • +
    • string
    • +
    • int
    • +
    • [string]
    • +
    +

    Claro will statically reject any Flags of unsupported types. For example, Claro won't automatically parse arbitrary +structs from the command line. (Although it's likely that in the future Claro will standardize its string encoding of +all types and provide some extended support for automatically decoding them from strings).

    +
    +
    1 +

    Command line Flag parsing in most other languages can only be done by explicitly handling the command line args +list in the program's "main method" (or equivalent). But in Claro, Flags can be arbitrarily defined by any Module in +the entire program. The only thing to keep in mind is that the very nature of Flags being given on the command line +means that their names must be globally unique. So, if you plan to include Flags in a Module that you're publishing +for a wide audience, make sure that you use somehow try to ensure that your Flag names can at least be reasonably +expected to be globally unique. One suggestion would be to prefix all Flag names with the published name of your Bazel +module that's been pushed to the +Bazel Central Registry.

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_apis/http_services/BUILD b/module_system/module_apis/http_services/BUILD new file mode 100644 index 00000000..d3788f8d --- /dev/null +++ b/module_system/module_apis/http_services/BUILD @@ -0,0 +1,32 @@ +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "http_services", + doc_template = "http_services.tmpl.md", + examples = [ + { + "example": "ex1.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex1-impl.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + +claro_module( + name = "buggy_buggies", + module_api_file = "ex1.claro_module_api", + srcs = ["ex1-impl.claro"], + optional_stdlib_deps = ["http"], +) +claro_binary( + name = "test", + main_file = "ex2.claro", + deps = {"BuggyBuggies": ":buggy_buggies"}, + optional_stdlib_deps = ["http"], +) \ No newline at end of file diff --git a/module_system/module_apis/http_services/ex1-impl.claro b/module_system/module_apis/http_services/ex1-impl.claro new file mode 100644 index 00000000..615226f0 --- /dev/null +++ b/module_system/module_apis/http_services/ex1-impl.claro @@ -0,0 +1,6 @@ +# ex1-impl.claro + +provider static_BUGGY_BUGGIES_CLIENT() -> HttpClient { + # This client will send reqs to localhost but could use a public endpoint. + return http::getHttpClient("http://localhost:4000"); +} diff --git a/module_system/module_apis/http_services/ex1.claro_module_api b/module_system/module_apis/http_services/ex1.claro_module_api new file mode 100644 index 00000000..d0af775f --- /dev/null +++ b/module_system/module_apis/http_services/ex1.claro_module_api @@ -0,0 +1,15 @@ +# ex1.claro_module_api + +# This encodes the public API of the Buggy-Buggies HTTP service. +# Claro will generate a non-blocking RPC client for you via the following: +# `var myClient: HttpClient = http::getHttpClient("https://buggy-buggies.gigalixirapp.com");` +HttpService BuggyBuggies { + hostGame: "/api/host/{handle}", + friendsJoin: "/api/game/{gameId}/join/{handle}", + move: "/api/game/{gameId}/player/{secret}/move/{direction}", + worldInfo: "/api/game/{gameId}/player/{secret}/info", + reset: "/api/game/{gameId}/player/{secret}/reset" +} + +# Now there's a single static definition of which client will be used for sending reqs to the Buggy Buggies server. +static BUGGY_BUGGIES_CLIENT: HttpClient; \ No newline at end of file diff --git a/module_system/module_apis/http_services/ex2.claro b/module_system/module_apis/http_services/ex2.claro new file mode 100644 index 00000000..68eb5c01 --- /dev/null +++ b/module_system/module_apis/http_services/ex2.claro @@ -0,0 +1,13 @@ +################################################################################ +# WARNING: This file is not actually being executed to produce the docs as for +# some reason when running it during the mdbook_docs build sandboxing process +# the request is failing. So instead, I've manually run the program myself and +# copied its output into the doc. +################################################################################ + + +_ = http::getOk200HttpResponseForHtml(""); +var hostGameRes: oneof> + <-| BuggyBuggies::hostGame(BuggyBuggies::BUGGY_BUGGIES_CLIENT, "jason"); + +print("Host Game JSON Response:\n{hostGameRes}"); \ No newline at end of file diff --git a/module_system/module_apis/http_services/http_services.generated_docs.html b/module_system/module_apis/http_services/http_services.generated_docs.html new file mode 100644 index 00000000..18dc88a3 --- /dev/null +++ b/module_system/module_apis/http_services/http_services.generated_docs.html @@ -0,0 +1,294 @@ + + + + + + HTTP Services - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    HTTP Services

    +

    As Claro provides simple HTTP support out of the box, you can export HTTP Service definitions from Module APIs. For +example, the following Buggy Buggies game1 can be controlled by sending HTTP GET requests to the endpoints defined +below:

    + +

    So, we can encode this api as an HTTP Service that can be called programmatically by Claro programs by exporting the +following from a Module API:

    +

    Fig 1:

    +
    +
    # ex1.claro_module_api
    +
    +# This encodes the public API of the Buggy-Buggies HTTP service.
    +# Claro will generate a non-blocking RPC client for you via the following:
    +#   `var myClient: HttpClient<BuggyBuggies> = http::getHttpClient("https://buggy-buggies.gigalixirapp.com");`
    +HttpService BuggyBuggies {
    +  hostGame: "/api/host/{handle}",
    +  friendsJoin: "/api/game/{gameId}/join/{handle}",
    +  move: "/api/game/{gameId}/player/{secret}/move/{direction}",
    +  worldInfo: "/api/game/{gameId}/player/{secret}/info",
    +  reset: "/api/game/{gameId}/player/{secret}/reset"
    +}
    +
    +# Now there's a single static definition of which client will be used for sending reqs to the Buggy Buggies server.
    +static BUGGY_BUGGIES_CLIENT: HttpClient<BuggyBuggies>;
    +
    +
    +

    In this case the static HTTP client being exported by this Module will allow messages to be sent to the local port that +the Buggy Buggies game is running on:

    +

    Fig 2:

    +
    +
    # ex1-impl.claro
    +
    +provider static_BUGGY_BUGGIES_CLIENT() -> HttpClient<BuggyBuggies> {
    +  # This client will send reqs to localhost but could use a public endpoint.
    +  return http::getHttpClient("http://localhost:4000");
    +}
    +
    +
    +

    Now, a dependent can easily make calls to the various HTTP endpoints exposed by the service and from the dependent's +perspective it appears just like any other procedure call returning a future<...>.

    +

    Fig 3:

    +
    +
    var hostGameRes: oneof<string, std::Error<string>>
    +  <-| BuggyBuggies::hostGame(BuggyBuggies::BUGGY_BUGGIES_CLIENT, "jason");
    +
    +print("Host Game Response:\n{hostGameRes}");
    +
    +

    Output:

    +
    Host Game JSON Response:
    +{"reason":null,"success":true,"result":{"watch":"http://localhost:4000/game/04cfad01","secret":"7f3b8ae5","game_id":"04cfad01","example":"curl -X GET http://localhost:4000/api/game/04cfad01/player/7f3b8ae5/move/N"}}
    +
    +
    +

    Now, you can imagine how a more complex Claro program could use the HTTP client to this service to make a bot that +automatically plays the game collecting as much gold as possible.

    +

    Buggy Buggies Demo

    +

    Check out the +full-fledged implementation +of the Claro program controlling the buggy in the above gif.

    +
    +
    1 +

    Buggy Buggies was built by Jake Wood, thank you for sharing this!

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_apis/module_apis.generated_docs.html b/module_system/module_apis/module_apis.generated_docs.html new file mode 100644 index 00000000..b9e13d8f --- /dev/null +++ b/module_system/module_apis/module_apis.generated_docs.html @@ -0,0 +1,247 @@ + + + + + + Module APIs - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Module APIs

    +

    As you've seen in the previous section, a Claro Module is defined by its API which fully declares what downstream +consumers of the Module will gain access to by placing a dependency on it. In Claro, this API is explicitly declared +using a .claro_module_api file that simply contains type information, signatures, and names of what's implemented +within, but does not contain any concrete implementations itself. This may seem like it's just extra boilerplate, but in +fact, this separation of API and implementation is actually the source of the extreme modularity that Claro programs can +leverage.

    +

    In particular, it's very important to note that this separation implies that it is impossible for two separate modules +to be +"tightly coupled"! +Whereas in other programming languages like Java or Python, you must consciously plan ahead in order to maintain +"loose coupling" between program components.

    +

    This guarantee of loose coupling between Modules will be evaluated in more detail in a +following section, but for now, we'll just take a moment to +explicitly outline exactly what can be exported by a Module's API.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_apis/procedure_signatures/BUILD b/module_system/module_apis/procedure_signatures/BUILD new file mode 100644 index 00000000..a2afe0b8 --- /dev/null +++ b/module_system/module_apis/procedure_signatures/BUILD @@ -0,0 +1,24 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "procedure_signatures", + doc_template = "procedure_signatures.tmpl.md", + examples = [ + { + "example": "strings_signatures.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + } + ], +) + +genrule( + name = "signatures_from_strings_module", + outs = ["strings_signatures.claro_module_api"], + srcs = ["//stdlib/strings:strings.claro_module_api"], + cmd = ''' + echo -n '# strings.claro_module_api\n\n' > $(OUTS) \ + && cat $(location //stdlib/strings:strings.claro_module_api) | grep -e fromChar -e charAt >> $(OUTS) \ + && echo -n '\n# ...' >> $(OUTS) + ''' +) \ No newline at end of file diff --git a/module_system/module_apis/procedure_signatures/procedure_signatures.generated_docs.html b/module_system/module_apis/procedure_signatures/procedure_signatures.generated_docs.html new file mode 100644 index 00000000..07571503 --- /dev/null +++ b/module_system/module_apis/procedure_signatures/procedure_signatures.generated_docs.html @@ -0,0 +1,257 @@ + + + + + + Procedure Signatures - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Procedure Signatures

    +

    Of course, the most obvious reason to create a new Module is to factor out some logic for the sake of making it reusable +in multiple places in your program, or even just to keep another Module's implementation from growing in size +indefinitely. So, the first thing that you're likely to export from a Module are procedures. To do so, you will simply +declare the signature of the procedure(s) to be exported - that is, everything but the implementation of the procedure. +A procedure signature ends with a ; instead of the usual implementation logic inside curly braces.

    +

    For example, the following signatures are exported from the StdLib's +strings module:

    +

    Fig 1:

    +
    +
    # strings.claro_module_api
    +
    +function fromChar(c: char) -> string;
    +function charAt(s: string, i: int) -> char;
    +
    +# ...
    +
    +
    +
    +

    Including a procedure signature in a Module's API file is a declaration that any dependent of this Module will have +access to a procedure with the given signature, so Claro will statically validate that any claro_module(...) target +exporting any procedure signatures actually implements that procedure within its given srcs.

    +
    +

    So, your build target will be required to declare which .claro source file(s) actually implement the exported +procedures as explained in the introduction to defining Modules.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_apis/static_values/BUILD b/module_system/module_apis/static_values/BUILD new file mode 100644 index 00000000..02069da8 --- /dev/null +++ b/module_system/module_apis/static_values/BUILD @@ -0,0 +1,124 @@ +load("//:rules.bzl", "claro_module", "claro_binary") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files(["ex-server-config.json"]) + +doc_with_validated_examples( + name = "static_values", + doc_template = "static_values.tmpl.md", + examples = [ + { + "example": "ex1.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex-server-config.json", + "executable": False, + "codeblock_css_class": "js", + }, + { + "example": "ex1-impl.claro", + # Marking executable just so that docs_with_validated_examples() will auto-remove the leading `$$`... + "executable": True, + "expect_errors": True, + "append_output": False, + }, + { + "example": "ex1-test.claro", + "deps": {"Config": ":server_config"}, + }, + { + "example": "ex1-impl-with-print.claro", + # Marking executable just so that docs_with_validated_examples() will auto-remove the leading `$$`... + "executable": True, + "expect_errors": True, + "append_output": False, + }, + { + "example": "ex1-test-with-print.claro", + "deps": {"Config": ":server_config_with_print"}, + }, + { + "example": "ex1-lazy.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex1-test-with-print.claro", + "deps": {"Config": ":server_lazy_config_with_print"}, + }, + ], +) + +claro_module( + name = "server_config", + module_api_file = "ex1.claro_module_api", + # Generated by docs_with_validated_examples() above. + srcs = [":static_values_EX3_main.claro"], + resources = {"ConfigJSON": "ex-server-config.json"}, +) + +claro_binary( + name = "test", + main_file = "ex1-test.claro", + deps = {"Config": ":server_config"}, +) + +genrule( + name = "lazy_variant", + outs = ["ex1-lazy.claro_module_api"], + srcs = ["lazy.claro_module_api"], + cmd = "sed 's/^/$$$$/' $(location lazy.claro_module_api) | sed 's/^\\$$\\$$lazy/lazy/' > $(OUTS)", +) + +genrule( + name = "lazy", + srcs = ["ex1.claro_module_api"], + outs = ["lazy.claro_module_api"], + cmd = "sed 's/static/lazy static/' $(location ex1.claro_module_api) > $(OUTS)", +) + +genrule( + name = "ex1_with_log", + outs = ["ex1-with-log.claro_module_api"], + srcs = ["ex1.claro_module_api", "ex1-log.claro_module_api"], + cmd = "cat $(location ex1.claro_module_api) > $(OUTS) && cat $(location ex1-log.claro_module_api) >> $(OUTS)", +) + +genrule( + name = "ex1_lazy_with_log", + outs = ["ex1-lazy-with-log.claro_module_api"], + srcs = ["lazy.claro_module_api", "ex1-log.claro_module_api"], + cmd = "cat $(location lazy.claro_module_api) > $(OUTS) && cat $(location ex1-log.claro_module_api) >> $(OUTS)", +) + +claro_module( + name = "server_config_with_print", + module_api_file = "ex1-with-log.claro_module_api", + # Generated by docs_with_validated_examples() above. + srcs = [":static_values_EX5_main.claro"], + resources = {"ConfigJSON": "ex-server-config.json"}, +) + +claro_module( + name = "server_lazy_config_with_print", + module_api_file = "ex1-lazy-with-log.claro_module_api", + # Generated by docs_with_validated_examples() above. + srcs = [":static_values_EX5_main.claro"], + resources = {"ConfigJSON": "ex-server-config.json"}, +) + +genrule( + name = "impl-with-print", + outs = ["ex1-impl-with-print.claro"], + srcs = ["ex1-impl.claro", "ex1-log-impl.claro"], + cmd = "sed 's/^ /$$$$ /' $(location ex1-impl.claro) | sed 's/^$$$$ resources/ log(\"STATIC VALUE INITIALIZATION\");\\n # ...\\n$$$$ resources/' > $(OUTS) && cat $(location ex1-log-impl.claro) >> $(OUTS)", +) + +genrule( + name = "test-with-print", + outs = ["ex1-test-with-print.claro"], + srcs = ["ex1-test.claro"], + cmd = "echo -e 'Config::log(\"START MAIN FILE\");\n' > $(OUTS) && cat $(location ex1-test.claro) >> $(OUTS)", +) diff --git a/module_system/module_apis/static_values/ex-server-config.json b/module_system/module_apis/static_values/ex-server-config.json new file mode 100644 index 00000000..3a2823d6 --- /dev/null +++ b/module_system/module_apis/static_values/ex-server-config.json @@ -0,0 +1,12 @@ +{ + "server_name": "My Server", + "port": 8080, + "logging": { + "filename": "server.log" + }, + "database": { + "host": "localhost", + "port": 5432, + "database_name": "my_database" + } +} \ No newline at end of file diff --git a/module_system/module_apis/static_values/ex1-impl.claro b/module_system/module_apis/static_values/ex1-impl.claro new file mode 100644 index 00000000..dac1a896 --- /dev/null +++ b/module_system/module_apis/static_values/ex1-impl.claro @@ -0,0 +1,27 @@ +# ex1-impl.claro +provider static_SERVER_CONFIG() -> ServerConfig { + resources::ConfigJSON + |> files::readOrPanic(^) + |> var parsedConfig: std::ParsedJson = fromJson(^); + + var parsedResult = unwrap(parsedConfig).result; + if (parsedResult instanceof ServerConfig) { + # Config has correct format and was parsed successfully. + return parsedResult; + } + # ... Invalid Config File Format Handling ... +$$ # TODO(steving) In the future Claro should support an explicit `Panic("Reason")`. +$$ # TODO(steving) This server shouldn't even be allowed to actually startup. +$$ return { +$$ server_name = "Fake Server", +$$ port = -1, +$$ logging = { +$$ filename = "server.log" +$$ }, +$$ database = { +$$ host = "localhost", +$$ port = -1, +$$ database_name = "Fake Database" +$$ } +$$ }; +} \ No newline at end of file diff --git a/module_system/module_apis/static_values/ex1-log-impl.claro b/module_system/module_apis/static_values/ex1-log-impl.claro new file mode 100644 index 00000000..5783213b --- /dev/null +++ b/module_system/module_apis/static_values/ex1-log-impl.claro @@ -0,0 +1,4 @@ + +consumer log(msg: string) { + print("LOG: {msg}"); +} \ No newline at end of file diff --git a/module_system/module_apis/static_values/ex1-log.claro_module_api b/module_system/module_apis/static_values/ex1-log.claro_module_api new file mode 100644 index 00000000..1c79206b --- /dev/null +++ b/module_system/module_apis/static_values/ex1-log.claro_module_api @@ -0,0 +1,2 @@ + +consumer log(msg: string); \ No newline at end of file diff --git a/module_system/module_apis/static_values/ex1-test.claro b/module_system/module_apis/static_values/ex1-test.claro new file mode 100644 index 00000000..f3c42097 --- /dev/null +++ b/module_system/module_apis/static_values/ex1-test.claro @@ -0,0 +1,3 @@ +var config = Config::SERVER_CONFIG; +print("Server Name: {config.server_name}"); +print("Port: {config.port}"); diff --git a/module_system/module_apis/static_values/ex1.claro_module_api b/module_system/module_apis/static_values/ex1.claro_module_api new file mode 100644 index 00000000..0ec98fa9 --- /dev/null +++ b/module_system/module_apis/static_values/ex1.claro_module_api @@ -0,0 +1,17 @@ +# ex1.claro_module_api + +# Throughout the server's lifetime this configuration won't change. +static SERVER_CONFIG : ServerConfig; + +alias ServerConfig : struct { + server_name: string, + port: int, + logging: struct { + filename: string + }, + database: struct { + host: string, + port: int, + database_name: string + } +} \ No newline at end of file diff --git a/module_system/module_apis/static_values/static_values.generated_docs.html b/module_system/module_apis/static_values/static_values.generated_docs.html new file mode 100644 index 00000000..df22d0f8 --- /dev/null +++ b/module_system/module_apis/static_values/static_values.generated_docs.html @@ -0,0 +1,455 @@ + + + + + + Static Values - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Static Values

    +

    In addition to Type definitions and Procedure signatures, Modules are also able to export static (read: unchanging) +values. This seemingly simple feature actually addresses the core value add of heavyweight "Dependency Injection" +frameworks like Guice, Dagger, or Spring1 while providing the static compile-time validation that you'd expect of a +first-class programming language feature.

    +

    The below Module API exports a struct containing a simple server config that's fixed (static) throughout the server's +lifecycle:

    +

    Fig 1:

    +
    +
    # ex1.claro_module_api
    +
    +# Throughout the server's lifetime this configuration won't change.
    +static SERVER_CONFIG : ServerConfig;
    +
    +alias ServerConfig : struct {
    +  server_name: string,
    +  port: int,
    +  logging: struct {
    +    filename: string
    +  },
    +  database: struct {
    +    host: string,
    +    port: int,
    +    database_name: string
    +  }
    +}
    +
    +
    +

    The value itself will be provided by implementing a provider static_<static value name>() -> <static value type>, for +example, the following provider implementation reads and parses2 the config values from a JSON resource3 file:

    +

    Fig 2:

    +
    +
    {
    +  "server_name": "My Server",
    +  "port": 8080,
    +  "logging": {
    +    "filename": "server.log"
    +  },
    +  "database": {
    +    "host": "localhost",
    +    "port": 5432,
    +    "database_name": "my_database"
    +  }
    +}
    +
    +
    +

    Fig 3:

    +
    +
    # ex1-impl.claro
    +provider static_SERVER_CONFIG() -> ServerConfig {
    +  resources::ConfigJSON
    +    |> files::readOrPanic(^)
    +    |> var parsedConfig: std::ParsedJson<ServerConfig> = fromJson(^);
    +
    +  var parsedResult = unwrap(parsedConfig).result;
    +  if (parsedResult instanceof ServerConfig) {
    +    # Config has correct format and was parsed successfully.
    +    return parsedResult;
    +  }
    +  # ... Invalid Config File Format Handling ...
    +  # TODO(steving) In the future Claro should support an explicit `Panic("Reason")`.
    +  # TODO(steving) This server shouldn't even be allowed to actually startup.
    +  return {
    +    server_name = "Fake Server",
    +    port = -1,
    +    logging = {
    +      filename = "server.log"
    +    },
    +    database = {
    +      host = "localhost",
    +      port = -1,
    +      database_name = "Fake Database"
    +    }
    +  };
    +}
    +
    +
    +
    This syntax is very likely to change. Expressing this via a naming convention is +extremely undesirable, so any suggestions for a more appropriate syntax are very welcome.
    +

    And now, a downstream dependent of the Module exporting the SERVER_CONFIG static value can just directly use the value +as it was initialized at program startup by the given provider.

    +

    Fig 4:

    +
    +
    var config = Config::SERVER_CONFIG;
    +print("Server Name: {config.server_name}");
    +print("Port:        {config.port}");
    +
    +

    Output:

    +
    Server Name: My Server
    +Port:        8080
    +
    +
    +

    Static Values Must be Deeply Immutable

    +

    The primary restriction placed on Static Values is that they must be deeply immutable to prevent static values from +being used in such a way could lead to data races. Because Static Values can be directly referenced anywhere in your +program, this means they can be referenced directly or transitively by +Graph Procedures or by Lambdas directly scheduled to +execute off the main thread using the StdLib's futures module. This +must be prevented in order to keep with Claro's philosophy of making it impossible for two threads to share mutable +state.

    +

    Initialization Order

    +

    In general, Static Values are initialized on program startup4 before a single line of the "main file" (determined by +claro_binary(name = ..., main_file = ..., deps = ...)) ever actually ran. To demonstrate this, let's add a +print(...) statement to both the Static Value's provider, and to the main file that references it:

    +

    Fig 5:

    +
    +
    # ex1-impl.claro
    +provider static_SERVER_CONFIG() -> ServerConfig {
    +  log("STATIC VALUE INITIALIZATION");
    +  # ...
    +  resources::ConfigJSON
    +    |> files::readOrPanic(^)
    +    |> var parsedConfig: std::ParsedJson<ServerConfig> = fromJson(^);
    +
    +  var parsedResult = unwrap(parsedConfig).result;
    +  if (parsedResult instanceof ServerConfig) {
    +    # Config has correct format and was parsed successfully.
    +    return parsedResult;
    +  }
    +  # ... Invalid Config File Format Handling ...
    +  # TODO(steving) In the future Claro should support an explicit `Panic("Reason")`.
    +  # TODO(steving) This server shouldn't even be allowed to actually startup.
    +  return {
    +    server_name = "Fake Server",
    +    port = -1,
    +    logging = {
    +      filename = "server.log"
    +    },
    +    database = {
    +      host = "localhost",
    +      port = -1,
    +      database_name = "Fake Database"
    +    }
    +  };
    +}
    +consumer log(msg: string) {
    +  print("LOG: {msg}");
    +}
    +
    +
    +

    Fig 6:

    +
    +
    Config::log("START MAIN FILE");
    +
    +var config = Config::SERVER_CONFIG;
    +print("Server Name: {config.server_name}");
    +print("Port:        {config.port}");
    +
    +

    Output:

    +
    LOG: STATIC VALUE INITIALIZATION
    +LOG: START MAIN FILE
    +Server Name: My Server
    +Port:        8080
    +
    +
    +

    "Lazy" Static Values

    +

    It's possible, however, that it might not be desirable for this sort of static initialization to happen eagerly like +this (for example if the value isn't guaranteed to even be used). So, Claro allows static values to optionally be +declared lazy:

    +

    Fig 7:

    +
    +
    # ex1.claro_module_api
    +
    +# Throughout the server's lifetime this configuration won't change.
    +lazy static SERVER_CONFIG : ServerConfig;
    +
    +alias ServerConfig : struct {
    +  server_name: string,
    +  port: int,
    +  logging: struct {
    +    filename: string
    +  },
    +  database: struct {
    +    host: string,
    +    port: int,
    +    database_name: string
    +  }
    +}
    +
    +
    +

    which will effectively wrap every reference to the value in logic that will first check if the value still needs to be +initialized and the initialization logic will be performed exactly once the very first time a read of the Lazy Static +Value is actually executed at runtime:

    +

    Fig 8:

    +
    +
    Config::log("START MAIN FILE");
    +
    +var config = Config::SERVER_CONFIG;
    +print("Server Name: {config.server_name}");
    +print("Port:        {config.port}");
    +
    +

    Output:

    +
    LOG: START MAIN FILE
    +LOG: STATIC VALUE INITIALIZATION
    +Server Name: My Server
    +Port:        8080
    +
    +
    +

    In the case of this example, lazy initialization could mean that the file read of the JSON config resource never +actually needs to occur if it would never actually be read. This is a fairly insignificant performance optimization, but +one that will be welcome to any developers that have become accustomed to this sort of capability being provided by more +heavyweight dependency injection frameworks.

    +

    Static Value Providers May Depend on Other Static Values

    +

    Finally, it's worth explicitly noting that Static Value providers may depend on other Static Values, with the only +restriction being that circular dependencies between Static Value providers are forbidden. In fact, Claro will reject +them at compile time to ensure that you don't accidentally create an infinite loop during initialization.

    +
    +
    1 +

    Claro doesn't support these DI frameworks' concept of "scopes" explicitly, but Claro's Static Values could be +conceptually considered to be in the "Singleton" scope in any +of the mentioned DI frameworks.

    +
    +
    2 +

    Learn more about Claro's support for automatic JSON Parsing.

    +
    +
    3 +

    Learn more about Claro's support for Resource Files in the StdLib's files module.

    +
    +
    4 +

    To be very explicit, technically Static Values are instantiated the first time that the JVM's ClassLoader loads +the generated Class representing the Module exporting the Static Value. Hence the calls to Config::log(...) to +make the example more compelling.

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_apis/type_definitions/BUILD b/module_system/module_apis/type_definitions/BUILD new file mode 100644 index 00000000..4b7832c3 --- /dev/null +++ b/module_system/module_apis/type_definitions/BUILD @@ -0,0 +1,62 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "type_definitions", + doc_template = "type_definitions.tmpl.md", + examples = [ + { + "example": "std_signatures.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "strings_signatures.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex3.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex4.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex5_no_srcs_BUILD", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + +[ + genrule( + name = "signatures_from_{0}_module".format(args["module_name"]), + outs = ["{0}_signatures.claro_module_api".format(args["module_name"])], + srcs = [args["src"]], + cmd = ''' + echo -n '# {module_name}.claro_module_api\n\n' > $(OUTS) \ + && cat $(location {src}) | grep {grep_args} >> $(OUTS) \ + && echo -n '\n# ...' >> $(OUTS) + '''.format( + module_name = args["module_name"], + src = args["src"], + grep_args = args["grep_args"] + ) + ) + for args in [ + { + "module_name": "std", + "grep_args": "-e 'newtype Error'", + "src": "//stdlib:std.claro_module_api", + }, + { + "module_name": "strings", + "grep_args": "-e NOT_FOUND", + "src": "//stdlib/strings:strings.claro_module_api", + }, + ] +] diff --git a/module_system/module_apis/type_definitions/ex3.claro_module_api b/module_system/module_apis/type_definitions/ex3.claro_module_api new file mode 100644 index 00000000..81dd4d58 --- /dev/null +++ b/module_system/module_apis/type_definitions/ex3.claro_module_api @@ -0,0 +1,17 @@ +# ex1.claro_module_api + +alias ComplexStruct : struct { + fieldA: tuple< + struct { + innerA: int, + innerB: [[char]] + }, + int, + float + >, + fieldB: provider> +} + +# It'll be much easier for users to be able to refer to this type using the exported +# alias rather than the type itself. +provider getRandomComplexStruct() -> ComplexStruct; \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/ex4.claro_module_api b/module_system/module_apis/type_definitions/ex4.claro_module_api new file mode 100644 index 00000000..bc0a49fa --- /dev/null +++ b/module_system/module_apis/type_definitions/ex4.claro_module_api @@ -0,0 +1,7 @@ +# ex4.claro_module_api + +alias UserLookupError : oneof + +atom USER_NOT_FOUND +atom USER_DELETED +atom USER_SUSPENDED \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/ex5_no_srcs_BUILD b/module_system/module_apis/type_definitions/ex5_no_srcs_BUILD new file mode 100644 index 00000000..1d52782e --- /dev/null +++ b/module_system/module_apis/type_definitions/ex5_no_srcs_BUILD @@ -0,0 +1,8 @@ +load("//:rules.bzl", "claro_module") + +claro_module( + name = "user_error_types", + module_api_file = "ex4.claro_module_api", + # You could optionally, explicitly declare an empty list. + # srcs = [], +) \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/BUILD b/module_system/module_apis/type_definitions/initializers_and_unwrappers/BUILD new file mode 100644 index 00000000..813714be --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/BUILD @@ -0,0 +1,79 @@ +load("//:rules.bzl", "claro_module") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "initializers_and_unwrappers", + doc_template = "initializers_and_unwrappers.tmpl.md", + examples = [ + { + "example": "ex1-no-init.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex1-bad-init-BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex1-bad-init.claro", + "deps": { + "Nums": ":ex1_no_initializer", + } + }, + { + "example": "ex1-with-init.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex1-with-init-BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex1-bad-init.claro", + "deps": { + "Nums": ":ex1_with_initializer", + }, + "expect_errors": True, + }, + { + "example": "ex1-good-init.claro", + "deps": { + "Nums": ":ex1_with_initializer", + } + }, + ], +) + +claro_module( + name = "ex1_no_initializer", + module_api_file = "ex1-part1.claro_module_api", +) + +claro_module( + name = "ex1_with_initializer", + module_api_file = "ex1-with-init.claro_module_api", + srcs = ["ex1.claro"], +) + +genrule( + name = "concat_ex1_api", + outs = ["ex1-with-init.claro_module_api"], + srcs = ["ex1-part1.claro_module_api", "ex1-part2.claro_module_api"], + cmd = ''' + echo '# ex1-with-init.claro_module_api' > $(OUTS) \ + && cat $(location ex1-part1.claro_module_api) $(location ex1-part2.claro_module_api) >> $(OUTS) + ''' +) + +genrule( + name = "concat_ex1_api_no_init", + outs = ["ex1-no-init.claro_module_api"], + srcs = ["ex1-part1.claro_module_api"], + cmd = ''' + echo '# ex1-no-init.claro_module_api' > $(OUTS) \ + && cat $(location ex1-part1.claro_module_api) >> $(OUTS) + ''' +) diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-bad-init-BUILD b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-bad-init-BUILD new file mode 100644 index 00000000..b8ca2562 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-bad-init-BUILD @@ -0,0 +1,15 @@ +# BUILD +load("//:rules.bzl", "claro_binary", "claro_module") + +claro_module( + name = "ex1_no_initializer", + module_api_file = "ex1-no-init.claro_module_api", # `newtype OddInt : int` +) + +claro_binary( + name = "bad_init_example", + srcs = "ex1-bad-init.claro", + deps = { + "Nums": ":ex1_no_initializer", + } +) \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-bad-init.claro b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-bad-init.claro new file mode 100644 index 00000000..5ac48181 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-bad-init.claro @@ -0,0 +1,3 @@ +# ex1-bad-init.claro +var invalidOddInt = Nums::OddInt(8); +print(invalidOddInt); \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-good-init.claro b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-good-init.claro new file mode 100644 index 00000000..d425e713 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-good-init.claro @@ -0,0 +1,6 @@ +# ex1-good-init.claro +var invalidOddInt = Nums::getOddInt(8); +print(invalidOddInt); + +var oddInt = Nums::getOddInt(7); +print(oddInt); \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-part1.claro_module_api b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-part1.claro_module_api new file mode 100644 index 00000000..65a79ea9 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-part1.claro_module_api @@ -0,0 +1,2 @@ +newtype OddInt : int + diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-part2.claro_module_api b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-part2.claro_module_api new file mode 100644 index 00000000..f54fb2fd --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-part2.claro_module_api @@ -0,0 +1,4 @@ +atom NOT_ODD +initializers OddInt { + function getOddInt(x: int) -> oneof>; +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-with-init-BUILD b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-with-init-BUILD new file mode 100644 index 00000000..8e96174a --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1-with-init-BUILD @@ -0,0 +1,15 @@ +# BUILD +load("//:rules.bzl", "claro_binary", "claro_module") + +claro_module( + name = "ex1_with_initializer", + module_api_file = "ex1-with-init.claro_module_api", +) + +claro_binary( + name = "rejected_init_example", + srcs = "ex1-bad-init.claro", # Same as before. We'll expect an error. + deps = { + "Nums": ":ex1_with_initializer", # Now defines an Initializer. + } +) \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1.claro b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1.claro new file mode 100644 index 00000000..ed6d17cc --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/ex1.claro @@ -0,0 +1,7 @@ +# init-impl.claro +function getOddInt(x: int) -> oneof> { + if (x % 2 == 1) { + return OddInt(x); + } + return std::Error(NOT_ODD); +} diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/initializers_and_unwrappers.generated_docs.html b/module_system/module_apis/type_definitions/initializers_and_unwrappers/initializers_and_unwrappers.generated_docs.html new file mode 100644 index 00000000..84f9e7d1 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/initializers_and_unwrappers.generated_docs.html @@ -0,0 +1,357 @@ + + + + + + Initializers - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Initializers & Unwrappers

    +

    Claro's builtin types are already fully capable of expressing any data structure, and so the entire purpose of +User-Defined Types is to allow user code to overlay new semantic meaning onto types beyond just the raw data values +themselves. Claro supports two simple constructs that allow User-Defined Types to constrain, and reinterpret the raw +data types that they wrap. Note that both of these constructs should likely only be used in limited cases where you have +a very specific reason to be doing so.

    +

    Initializers

    +

    Initializers provide a mechanism for a User-Defined Type to constrain the domain of possible values that a type may +represent beyond what the raw data types imply on their own.

    +

    To demonstrate the problem being addressed, take for example the type declaration below:

    +

    Fig 1:

    +
    +
    # ex1-no-init.claro_module_api
    +newtype OddInt : int
    +
    +
    +

    There's nothing about the type definition alone that actually imposes any sort of constraint that actually guarantees +that the wrapped int is in fact odd. So a consumer could place a dep (Nums) on the Module and directly construct a +completely invalid instance of the OddInt type:

    +

    Fig 2:

    +
    +
    # BUILD
    +load("//:rules.bzl", "claro_binary", "claro_module")
    +
    +claro_module(
    +    name = "ex1_no_initializer",
    +    module_api_file = "ex1-no-init.claro_module_api", # `newtype OddInt : int`
    +)
    +
    +claro_binary(
    +    name = "bad_init_example",
    +    srcs = "ex1-bad-init.claro",
    +    deps = {
    +        "Nums": ":ex1_no_initializer",
    +    }
    +)
    +
    +
    +

    Fig 3:

    +
    +
    # ex1-bad-init.claro
    +var invalidOddInt = Nums::OddInt(8);
    +print(invalidOddInt);
    +
    +

    Output:

    +
    OddInt(8)
    +
    +
    +

    Of course, it'd be very much preferable for it to be impossible to ever construct an instance of a Type that violates +its semantic invariants. You can enforce this in Claro by defining Initializers over the Type. Initializers are +simply procedures that become the only procedures in the entire program that are allowed to directly use the Type's +constructor. Therefore, if a Type declares an initializers block, the procedures declared within become the only +way for anyone to receive an instance of the type.

    +

    Fig 4:

    +
    +
    # ex1-with-init.claro_module_api
    +newtype OddInt : int
    +
    +atom NOT_ODD
    +initializers OddInt {
    +  function getOddInt(x: int) -> oneof<OddInt, std::Error<NOT_ODD>>;
    +}
    +
    +
    +

    Fig 5:

    +
    +
    # BUILD
    +load("//:rules.bzl", "claro_binary", "claro_module")
    +
    +claro_module(
    +    name = "ex1_with_initializer",
    +    module_api_file = "ex1-with-init.claro_module_api",
    +)
    +
    +claro_binary(
    +    name = "rejected_init_example",
    +    srcs = "ex1-bad-init.claro", # Same as before. We'll expect an error.
    +    deps = {
    +        "Nums": ":ex1_with_initializer", # Now defines an Initializer.
    +    }
    +)
    +
    +
    +

    Now, the exact same attempt to construct an invalid instance of OddInt is statically rejected at compile-time - and +even better, Claro's able to specifically recommend the fix, calling the Nums::getOddInt(...) function:

    +

    Fig 6:

    +
    +
    # ex1-bad-init.claro
    +var invalidOddInt = Nums::OddInt(8);
    +print(invalidOddInt);
    +
    +

    Compilation Errors:

    +
    initializers_and_unwrappers_EX6_example.claro:2: Illegal Use of User-Defined Type Constructor Outside of Initializers Block: An initializers block has been defined for the custom type `[module at //mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers:ex1_with_initializer]::OddInt`, so, in order to maintain any semantic constraints that the initializers are intended to impose on the type, you aren't allowed to use the type's default constructor directly.
    +		Instead, to get an instance of this type, consider calling one of the defined initializers:
    +			- Nums::getOddInt
    +var invalidOddInt = Nums::OddInt(8);
    +                    ^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +
    +

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

    +
    +

    And now finally, you can use the initializer by simply calling it like any other procedure:

    +

    Fig 7:

    +
    +
    # ex1-good-init.claro
    +var invalidOddInt = Nums::getOddInt(8);
    +print(invalidOddInt);
    +
    +var oddInt = Nums::getOddInt(7);
    +print(oddInt);
    +
    +

    Output:

    +
    Error(NOT_ODD)
    +OddInt(7)
    +
    +
    +

    Now you know for a fact that anywhere where you initialize an instance of an OddInt in the entire program, it will +certainly satisfy its semantic invariants.

    +
    +

    Warning: Still, keep in mind that if your type is mutable, declaring Initializers is not, on its own, sufficient to +guarantee that any constraints or invariants are maintained over time. Keep reading to learn about how Unwrappers and +Opaque Types can give you full control over this.

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/BUILD b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/BUILD new file mode 100644 index 00000000..0a320255 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/BUILD @@ -0,0 +1,60 @@ +load("//:rules.bzl", "claro_module") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "unwrappers", + doc_template = "unwrappers.tmpl.md", + examples = [ + { + "example": "ex1-api.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "violate-mut-type-constraints.claro", + "deps": { + "Person": ":person", + } + }, + { + "example": "ex1-api-with-unwrappers.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "violate-mut-type-constraints.claro", + "deps": { + "Person": ":person_with_unwrappers", + }, + "expect_errors": True, + }, + { + "example": "violate-mut-type-constraints-using-setAge.claro", + "deps": { + "Person": ":person_with_unwrappers", + }, + }, + ], +) + +claro_module( + name = "person", + module_api_file = "ex1-api.claro_module_api", + srcs = ["ex1-impl.claro"], +) + +claro_module( + name = "person_with_unwrappers", + module_api_file = "ex1-api-with-unwrappers.claro_module_api", + srcs = [ + "ex1-impl.claro", + "ex1-unwrappers-impl.claro", + ], +) + +genrule( + name = "person-with-unwrappers-api", + outs = ["ex1-api-with-unwrappers.claro_module_api"], + srcs = ["ex1-api.claro_module_api", "ex1-api-unwrappers.claro_module_api"], + cmd = "cat $(location ex1-api.claro_module_api) $(location ex1-api-unwrappers.claro_module_api) > $(OUTS)" +) diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-api-unwrappers.claro_module_api b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-api-unwrappers.claro_module_api new file mode 100644 index 00000000..1498144d --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-api-unwrappers.claro_module_api @@ -0,0 +1,4 @@ + +unwrappers Person { + function setAge(p: Person, newAge: int) -> oneof>; +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-api.claro_module_api b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-api.claro_module_api new file mode 100644 index 00000000..51894399 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-api.claro_module_api @@ -0,0 +1,7 @@ +# person.claro_module_api +newtype Person : mut struct {name: string, age: int} + +atom InvalidAge +initializers Person { + function getPerson(name: string, age: int) -> oneof>; +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-impl.claro b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-impl.claro new file mode 100644 index 00000000..ba7c3c4c --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-impl.claro @@ -0,0 +1,9 @@ +# person.claro +initializers Person { + function getPerson(name: string, age: int) -> oneof> { + if (age < 0 or age > 100) { + return std::Error(InvalidAge); + } + return Person(mut {name = name, age = age}); + } +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-unwrappers-impl.claro b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-unwrappers-impl.claro new file mode 100644 index 00000000..f73e85c0 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/ex1-unwrappers-impl.claro @@ -0,0 +1,10 @@ + +unwrappers Person { + function setAge(p: Person, newAge: int) -> oneof> { + if (newAge < 0 or newAge > 100) { + return std::Error(InvalidAge); + } + unwrap(p).age = newAge; + return std::OK; + } +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/unwrappers.generated_docs.html b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/unwrappers.generated_docs.html new file mode 100644 index 00000000..61e32247 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/unwrappers.generated_docs.html @@ -0,0 +1,356 @@ + + + + + + Unwrappers - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Unwrappers

    +

    Initializers are a very useful concept, but on their own they don't allow full control over maintaining a mutable type's +semantic invariants or constraints. For example, consider the following type definition:

    +

    Fig 1:

    +
    +
    # person.claro_module_api
    +newtype Person : mut struct {name: string, age: int}
    +
    +atom InvalidAge
    +initializers Person {
    +  function getPerson(name: string, age: int) -> oneof<Person, std::Error<InvalidAge>>;
    +}
    +
    +
    +

    If we wanted to impose the semantic constraint on legal values for a Person's age, defining the initializer alone is +only sufficient to ensure the constraint is enforced for the initial value. But it doesn't help maintain this after init +as users could still freely unwrap and mutate the type directly:

    +

    Fig 2:

    +
    +
    # Negative age can be rejected on init...
    +var invalidAge = Person::getPerson("Jason", -1);
    +print(invalidAge);
    +
    +var p = Person::getPerson("Jason", 29);
    +# Prove that we didn't get a std::Error<InvalidAge>.
    +if (p instanceof Person::Person) {
    +  print(p);
    +
    +  # But we can violate the semantics of the type by unwrapping and mutating directly.
    +  unwrap(p).age = -1;
    +  print(p);
    +}
    +
    +

    Output:

    +
    Error(InvalidAge)
    +Person(mut {name = Jason, age = 29})
    +Person(mut {name = Jason, age = -1})
    +
    +
    +

    Fortunately, Claro provides a couple different ways to actually control semantic constraints/invariants like this. The +first approach is to define Unwrappers. Analogous to Initializers that constrain the usage of a Type's default +constructor, Unwrappers constrain the usage of the built-in unwrap(...) operation. For example, the above violation of +the intended constraints on a Person's age can be enforced by adding an Unwrapper procedure that will handle all +allowed updates:

    +

    Fig 3:

    +
    +
    # person.claro_module_api
    +newtype Person : mut struct {name: string, age: int}
    +
    +atom InvalidAge
    +initializers Person {
    +  function getPerson(name: string, age: int) -> oneof<Person, std::Error<InvalidAge>>;
    +}
    +unwrappers Person {
    +  function setAge(p: Person, newAge: int) -> oneof<std::OK, std::Error<InvalidAge>>;
    +}
    +
    +
    +

    And now, the workaround that previously allowed violating the type's constraints has been patched. Attempts to directly +mutate the value w/o going through approved procedures that handle updates will be rejected at compile-time:

    +

    Fig 4:

    +
    +
    # Negative age can be rejected on init...
    +var invalidAge = Person::getPerson("Jason", -1);
    +print(invalidAge);
    +
    +var p = Person::getPerson("Jason", 29);
    +# Prove that we didn't get a std::Error<InvalidAge>.
    +if (p instanceof Person::Person) {
    +  print(p);
    +
    +  # But we can violate the semantics of the type by unwrapping and mutating directly.
    +  unwrap(p).age = -1;
    +  print(p);
    +}
    +
    +

    Compilation Errors:

    +
    unwrappers_EX4_example.claro:11: Illegal Use of User-Defined Type Unwrapper Outside of Unwrappers Block: An unwrappers block has been defined for the custom type `[module at //mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers:person_with_unwrappers]::Person`, so, in order to maintain any semantic constraints that the unwrappers are intended to impose on the type, you aren't allowed to use the type's default `unwrap()` function directly.
    +		Instead, to unwrap an instance of this type, consider calling one of the defined unwrappers:
    +			- Person::setAge
    +  unwrap(p).age = -1;
    +  ^^^^^^^^^
    +1 Error
    +
    +
    +

    Now, if you actually tried to update the age to something invalid using the official setAge(...) function, the update +will be rejected:

    +

    Fig 5:

    +
    +
    var p = Person::getPerson("Jason", 29);
    +if (p instanceof Person::Person) {
    +  print(p);
    +
    +  # Now the update must be done via the provided `setAge(...)` function
    +  # which first validates the update, and in this case rejects.
    +  var updateRes = Person::setAge(p, -1);
    +  print(updateRes);
    +  print(p);
    +}
    +
    +

    Output:

    +
    Person(mut {name = Jason, age = 29})
    +Error(InvalidAge)
    +Person(mut {name = Jason, age = 29})
    +
    +
    + +
    +

    It's worth noting that initializers and unwrappers blocks exist largely to be used independently. The above +example is fairly contrived, and would likely be better defined as an +"Opaque Type". A good rule of thumb is that if you catch yourself +thinking that you need to define both for the same Type, you should likely be defining the Type to be "Opaque" instead.

    +

    In particular, initializers can be well-used in isolation for immutable Types where you would like to validate the +values on init, but would like to maintain the ergonomics of allowing users to directly access the internals themselves +(and as the data is immutable, there's no risk in allowing them to do so). +For example, with the immutable type newtype GameLocation : struct {x: int, y: int} you may want to require that x +and y are actually within the game's boundaries, but otherwise you want to allow users of the type to directly +access x and y without having to write/use annoying "getters".

    +

    On the other hand, unwrappers can be well-used in isolation for mutable values that can start with any value, but +for which all subsequent changes must be constrained. For example, with +newtype MonotonicallyIncreasingValue: mut struct {val: long} you may be happy to allow arbitrary starting values, +but after that point you would want to ensure that any updates to its value are in fact increasing its value, perhaps by +simply exposing an Unwrapper like consumer increment(count: MonotonicallyIncreasingValue);.

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/violate-mut-type-constraints-using-setAge.claro b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/violate-mut-type-constraints-using-setAge.claro new file mode 100644 index 00000000..97e2d2f4 --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/violate-mut-type-constraints-using-setAge.claro @@ -0,0 +1,10 @@ +var p = Person::getPerson("Jason", 29); +if (p instanceof Person::Person) { + print(p); + + # Now the update must be done via the provided `setAge(...)` function + # which first validates the update, and in this case rejects. + var updateRes = Person::setAge(p, -1); + print(updateRes); + print(p); +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/violate-mut-type-constraints.claro b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/violate-mut-type-constraints.claro new file mode 100644 index 00000000..ab19b41b --- /dev/null +++ b/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/violate-mut-type-constraints.claro @@ -0,0 +1,13 @@ +# Negative age can be rejected on init... +var invalidAge = Person::getPerson("Jason", -1); +print(invalidAge); + +var p = Person::getPerson("Jason", 29); +# Prove that we didn't get a std::Error. +if (p instanceof Person::Person) { + print(p); + + # But we can violate the semantics of the type by unwrapping and mutating directly. + unwrap(p).age = -1; + print(p); +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/opaque_types/BUILD b/module_system/module_apis/type_definitions/opaque_types/BUILD new file mode 100644 index 00000000..f0cd6cdb --- /dev/null +++ b/module_system/module_apis/type_definitions/opaque_types/BUILD @@ -0,0 +1,31 @@ +load("//:rules.bzl", "claro_module") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "opaque_types", + doc_template = "opaque_types.tmpl.md", + examples = [ + { + "example": "ex1.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex1-impl.claro", + "append_output": False, + }, + { + "example": "ex1-alt-impl.claro", + "deps": {"ID": ":uuid"}, + "append_output": False, + }, + ], +) + +genrule( + name = "uuid_gen", + outs = ["uuid.claro_module_api"], + cmd = "echo 'atom UUID' > $(OUTS)" +) + +claro_module(name = "uuid", module_api_file = "uuid_gen") \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/opaque_types/ex1-alt-impl.claro b/module_system/module_apis/type_definitions/opaque_types/ex1-alt-impl.claro new file mode 100644 index 00000000..f0c7fc24 --- /dev/null +++ b/module_system/module_apis/type_definitions/opaque_types/ex1-alt-impl.claro @@ -0,0 +1,5 @@ +# ex1-impl.claro +newtype Person : struct { + name: string, + userID: ID::UUID # UPDATED +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/opaque_types/ex1-impl.claro b/module_system/module_apis/type_definitions/opaque_types/ex1-impl.claro new file mode 100644 index 00000000..82518683 --- /dev/null +++ b/module_system/module_apis/type_definitions/opaque_types/ex1-impl.claro @@ -0,0 +1,5 @@ +# ex1-impl.claro +newtype Person : struct { + name: string, + userID: int +} \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/opaque_types/ex1.claro_module_api b/module_system/module_apis/type_definitions/opaque_types/ex1.claro_module_api new file mode 100644 index 00000000..a75c9c6f --- /dev/null +++ b/module_system/module_apis/type_definitions/opaque_types/ex1.claro_module_api @@ -0,0 +1,2 @@ +# ex1.claro_module_api +opaque newtype Person \ No newline at end of file diff --git a/module_system/module_apis/type_definitions/opaque_types/opaque_types.generated_docs.html b/module_system/module_apis/type_definitions/opaque_types/opaque_types.generated_docs.html new file mode 100644 index 00000000..ea27d68a --- /dev/null +++ b/module_system/module_apis/type_definitions/opaque_types/opaque_types.generated_docs.html @@ -0,0 +1,276 @@ + + + + + + Opaque Types - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Opaque Types

    +

    Programs of any significant size, particularly those developed among potentially large groups of developers, require a +significant level of coordination to ensure the program evolves in a controlled manner throughout entire development +lifecycle. Claro aspires to provide users with tools to that end. One particular technique that can aid this is hiding +the internal representation of a data structure. There are various reasons why this may be desirable:

    +
    + + + + +
    ConcernExample Undesirable Outcome
    Internal representation is subject to significant future changeMany downstream usages of the Type's internal representation arise, making future changes to the Type's internal representation unbearably onerous
    Internal representation must restrict the legal domain of valuesUsers directly manipulating the value can invalidate these necessary constraints and produce invalid data
    Internal representation is encoded in some way not explicitly described by the types themselvesComplex data structures, such as a Heap, may be represented internally as a simple mut [int] but a downstream user mutating this structure is inherently bug-prone
    Internal representation contains Type's that give access to sensitive behaviorsA database connection, for example, may have various open channels to the DB itself, but this doesn't mean it's safe to use this to manually send it arbitrary network reqs
    +
    +

    To address all of these, developers typically hide the internal representation of such sensitive Types so that +any direct interaction with them must necessarily go through "the front door" of a certain published, verified API. +Claro honors this as a first class capability, by allowing Types exported by a Module definition to be marked "Opaque":

    +

    Fig 1:

    +
    +
    # ex1.claro_module_api
    +opaque newtype Person
    +
    +
    +

    Now, consumers of a Module with the above Type definition will not be exposed whatsoever to any internal details of its +internal representation, which may initially look like:

    +

    Fig 2:

    +
    +
    # ex1-impl.claro
    +newtype Person : struct {
    +  name: string,
    +  userID: int
    +}
    +
    +
    +

    but then, in the future, it could be updated to something like:

    +

    Fig 3:

    +
    +
    # ex1-impl.claro
    +newtype Person : struct {
    +  name: string,
    +  userID: ID::UUID  # UPDATED
    +}
    +
    +
    +

    and you'd have a guarantee that you wouldn't have to make any changes outside the defining Module itself because it +was never possible for any downstream consumer to actually depend on the internal representation directly.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_apis/type_definitions/type_definitions.generated_docs.html b/module_system/module_apis/type_definitions/type_definitions.generated_docs.html new file mode 100644 index 00000000..93f1d634 --- /dev/null +++ b/module_system/module_apis/type_definitions/type_definitions.generated_docs.html @@ -0,0 +1,337 @@ + + + + + + Type & Alias Definitions - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Type & Alias Definitions

    +

    Modules can also be used to export definitions of Types or Aliases that are intended to be used throughout your overall +program.

    +

    Exporting Type Definitions

    +

    Exporting a Type definition can be as simple as just using the same Type definition syntax that you'd use within a +.claro source file.

    +

    For example, the std module exports the following Type:

    +

    Fig 1:

    +
    +
    # std.claro_module_api
    +
    +newtype Error<T> : T
    +
    +# ...
    +
    +
    +
    +The one thing to keep in mind when exporting a Type definition using this basic syntax is that you're explicitly giving +consumers access to the internal details of the type itself. This has the potential to make for a very unstable API as +any consumers can freely unwrap values of the type and manipulate its underlying representation at will. This is +obviously unsafe if the Type happens to be mutable as downstream consumers may not know how to maintain any inter-field +invariants if they're allowed to mutate it at will. +

    And beyond mutability, perhaps more subtly, you should also consider whether there will be lots of downstream users +directly accessing the Type's internal representation, and if so whether the representation is ever subject to any +future change. If so, in the future, it may unknowingly become very hard to ever make changes to the Type's internal +representation as, to do so, you would simultaneously be forced to update all of the downstream references to the Type's +internal representation.

    +

    Thankfully, Claro actually has mechanisms to hide the internal representation of a Type definition from downstream +consumers. Learn more in the sections on +Unwrappers and +Opaque Types.

    +
    +

    Exporting Atoms

    +

    Exporting an Atom is something of a hybrid between exporting a +static value and a Type definition, as an atom defines a new type +whose only value is the Atom itself. But again, you may export Atoms from Module APIs exactly as it would be defined +within a .claro source file.

    +

    For example, the strings module exports the following atom and +several functions that reference it.

    +

    Fig 2:

    +
    +
    # strings.claro_module_api
    +
    +atom NOT_FOUND
    +function indexOf(s: string, of: string) -> oneof<int, NOT_FOUND>;
    +function indexOfFromIndex(s: string, of: string, from: int) -> oneof<int, NOT_FOUND>;
    +function lastIndexOf(s: string, of: string) -> oneof<int, NOT_FOUND>;
    +function lastIndexOfFromIndex(s: string, of: string, from: int) -> oneof<int, NOT_FOUND>;
    +
    +# ...
    +
    +
    +

    Exporting Aliases

    +

    While Aliases largely exist to allow you to create your own convenient syntax sugar for complex types, it can sometimes +be useful for a Module to provide a standardized Alias for long or complex types that downstream usages could benefit +from having a shorthand for. Syntax for exporting an Alias in a Module API is exactly the same as the syntax for +declaring an Alias in a .claro source file.

    +

    Fig 3:

    +
    +
    # ex1.claro_module_api
    +
    +alias ComplexStruct : struct {
    +  fieldA: tuple<
    +    struct {
    +      innerA: int,
    +      innerB: [[char]]
    +    },
    +    int,
    +    float
    +  >,
    +  fieldB: provider<oneof<int, string>>
    +}
    +
    +# It'll be much easier for users to be able to refer to this type using the exported
    +# alias rather than the type itself.
    +provider getRandomComplexStruct() -> ComplexStruct;
    +
    +
    +

    Modules Exporting Only Types/Aliases Don't Require any .claro Source Files

    +

    In general, if your Module exclusively exports Type or Alias definitions, you actually do not need to provide any +.claro srcs to the defining claro_module(...) target, as the definitions themselves fully specify the Module in +their own right.

    +

    Fig 4:

    +
    +
    # ex4.claro_module_api
    +
    +alias UserLookupError : oneof<USER_NOT_FOUND, USER_DELETED, USER_SUSPENDED>
    +
    +atom USER_NOT_FOUND
    +atom USER_DELETED
    +atom USER_SUSPENDED
    +
    +
    +

    Fig 5:

    +
    +
    load("//:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "user_error_types",
    +    module_api_file = "ex4.claro_module_api",
    +    # You could optionally, explicitly declare an empty list.
    +    # srcs = [],
    +)
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/module_system.generated_docs.html b/module_system/module_system.generated_docs.html new file mode 100644 index 00000000..91b66a51 --- /dev/null +++ b/module_system/module_system.generated_docs.html @@ -0,0 +1,387 @@ + + + + + + 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.

    +

    Fig 1:

    +
    +
    # 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):

    +

    Fig 2:

    +
    +
    # 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));
    +  }
    +}
    +
    +
    +

    Fig 3:

    +
    +
    # 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.

    +
    +

    Dependency Naming: While consumers are allowed to pick any name they want for Modules that they depend on, it should +be noted that Claro will adopt the convention that all non-StdLib Module names must begin with an uppercase letter. +All StdLib Modules will be named beginning with a lowercase letter. This is intended to allow the set of StdLib modules +to expand over time without ever having to worry about naming collisions with user defined Modules in existing programs.

    +

    Static enforcement of this convention hasn't been implemented yet, but just know that it's coming in a future release.

    +
    +

    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:

    +

    Fig 4:

    +
    +
    # BUILD
    +
    +load("@claro-lang//:rules.bzl", "claro_module")
    +
    +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.

    +

    Fig 5:

    +
    +
    # BUILD
    +
    +load("@claro-lang//:rules.bzl", "claro_binary")
    +
    +...
    +
    +claro_binary(
    +    name = "test",
    +    main_file = "test.claro",
    +    deps = {
    +        "Ex": ":example",
    +    },
    +)
    +
    +
    +

    Fig 6:

    +
    +
    # 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);
    +
    +

    Output:

    +
    ----------
    +| Foo: 3 |
    +----------
    +-----------
    +| Foo: 10 |
    +-----------
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/swapping_deps/BUILD b/module_system/swapping_deps/BUILD new file mode 100644 index 00000000..de835199 --- /dev/null +++ b/module_system/swapping_deps/BUILD @@ -0,0 +1,84 @@ +load("//:rules.bzl", "claro_binary", "claro_module") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "swapping_deps", + doc_template = "swapping_deps.tmpl.md", + examples = [ + { + "example": "get_message.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "modules_BULD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "example.claro", + "append_output": False, + "deps": {"Msg": ":look_ma"}, + }, + { + "example": "binary_hello_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": ":hello_out", + "executable": False, + }, + { + "example": "binary_look_ma_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": ":look_ma_out", + "executable": False, + }, + { + "example": "extra_exports.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + +claro_binary( + name = "test_hello", + main_file = "example.claro", + deps = { + "Msg": ":hello_world", + } +) +claro_binary( + name = "test_look_ma", + main_file = "example.claro", + deps = { + "Msg": ":look_ma", + } +) +claro_module( + name = "hello_world", + module_api_file = "get_message.claro_module_api", + srcs = ["hello_world.claro"], +) +claro_module( + name = "look_ma", + module_api_file = "get_message.claro_module_api", + srcs = ["look_ma.claro"], +) + +[ + genrule( + name = name + "_out", + outs = [name + "_out.txt"], + srcs = ["test_" + name + "_deploy.jar"], + cmd = "$(JAVA) -jar $(SRCS) > $(OUTS)", + tools = ["@bazel_tools//tools/jdk:current_java_runtime"], + toolchains = ["@bazel_tools//tools/jdk:current_java_runtime"], + ) + for name in ["hello", "look_ma"] +] diff --git a/module_system/swapping_deps/binary_hello_BUILD b/module_system/swapping_deps/binary_hello_BUILD new file mode 100644 index 00000000..d495a90c --- /dev/null +++ b/module_system/swapping_deps/binary_hello_BUILD @@ -0,0 +1,8 @@ +# BUILD +claro_binary( + name = "test", + main_file = "example.claro", + deps = { + "Msg": ":hello_world", + } +) diff --git a/module_system/swapping_deps/binary_look_ma_BUILD b/module_system/swapping_deps/binary_look_ma_BUILD new file mode 100644 index 00000000..c38e233d --- /dev/null +++ b/module_system/swapping_deps/binary_look_ma_BUILD @@ -0,0 +1,8 @@ +# BUILD +claro_binary( + name = "test", + main_file = "example.claro", + deps = { + "Msg": ":look_ma", # Swapped for `:hello_world`. + } +) diff --git a/module_system/swapping_deps/example.claro b/module_system/swapping_deps/example.claro new file mode 100644 index 00000000..431a7658 --- /dev/null +++ b/module_system/swapping_deps/example.claro @@ -0,0 +1,2 @@ +# example.claro +print(Msg::getMessage()); \ No newline at end of file diff --git a/module_system/swapping_deps/extra_exports.claro_module_api b/module_system/swapping_deps/extra_exports.claro_module_api new file mode 100644 index 00000000..ecdf30ce --- /dev/null +++ b/module_system/swapping_deps/extra_exports.claro_module_api @@ -0,0 +1,8 @@ +# extra_exports.claro_module_api +provider getMessage() -> string; + +provider getMessageFromDB() -> future; + +opaque newtype SecretMessage + +static SOME_OTHER_MESSAGE : SecretMessage; \ No newline at end of file diff --git a/module_system/swapping_deps/get_message.claro_module_api b/module_system/swapping_deps/get_message.claro_module_api new file mode 100644 index 00000000..3966d053 --- /dev/null +++ b/module_system/swapping_deps/get_message.claro_module_api @@ -0,0 +1,2 @@ +# get_message.claro_module_api +provider getMessage() -> string; \ No newline at end of file diff --git a/module_system/swapping_deps/hello_world.claro b/module_system/swapping_deps/hello_world.claro new file mode 100644 index 00000000..1d2bfa80 --- /dev/null +++ b/module_system/swapping_deps/hello_world.claro @@ -0,0 +1,3 @@ +provider getMessage() -> string { + return "Hello, World!"; +} \ No newline at end of file diff --git a/module_system/swapping_deps/look_ma.claro b/module_system/swapping_deps/look_ma.claro new file mode 100644 index 00000000..0fdf1222 --- /dev/null +++ b/module_system/swapping_deps/look_ma.claro @@ -0,0 +1,5 @@ +provider getMessage() -> string { + var msg = "Look ma, no hands!"; + var line = strings::repeated("-", len(msg) + 4); + return "{line}\n| {msg} |\n{line}"; +} \ No newline at end of file diff --git a/module_system/swapping_deps/modules_BULD b/module_system/swapping_deps/modules_BULD new file mode 100644 index 00000000..11a3f79f --- /dev/null +++ b/module_system/swapping_deps/modules_BULD @@ -0,0 +1,14 @@ +# BUILD +load("@claro-lang//:rules.bzl", "claro_binary", "claro_module") + +claro_module( + name = "hello_world", + module_api_file = "get_message.claro_module_api", + srcs = ["hello_world.claro"], +) +claro_module( + name = "look_ma", + module_api_file = "get_message.claro_module_api", + srcs = ["look_ma.claro"], +) +# ... \ No newline at end of file diff --git a/module_system/swapping_deps/swapping_deps.generated_docs.html b/module_system/swapping_deps/swapping_deps.generated_docs.html new file mode 100644 index 00000000..7fd68b55 --- /dev/null +++ b/module_system/swapping_deps/swapping_deps.generated_docs.html @@ -0,0 +1,339 @@ + + + + + + Swapping Dependencies - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Swapping Dependencies

    +

    Claro's Module system was very carefully designed to guarantee that it's statically impossible for two separate +modules to be +"tightly coupled". +In this section we'll dive into exactly what that means.

    +

    As you've already seen in previous sections, Claro Modules explicitly declare a public API that indicates the full set +of procedures/values/Types that the Module's consumers will gain access to. Of course, some form of this is present in +every language. The unique distinction is that Claro Module dependencies can be directly swapped out to any other Module +with an appropriate API without changing a single line of code in any .claro source files.

    +

    For example, the below API...

    +

    Fig 1:

    +
    +
    # get_message.claro_module_api
    +provider getMessage() -> string;
    +
    +
    +

    ...could be implemented by multiple Modules...

    +

    Fig 2:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_binary", "claro_module")
    +
    +claro_module(
    +    name = "hello_world",
    +    module_api_file = "get_message.claro_module_api",
    +    srcs = ["hello_world.claro"],
    +)
    +claro_module(
    +    name = "look_ma",
    +    module_api_file = "get_message.claro_module_api",
    +    srcs = ["look_ma.claro"],
    +)
    +# ...
    +
    +
    +

    ...and then the exact same .claro source code...

    +

    Fig 3:

    +
    +
    # example.claro
    +print(Msg::getMessage());
    +
    +
    +

    ...could be compiled against either Module...

    +

    Fig 4:

    +
    +
    # BUILD
    +claro_binary(
    +    name = "test",
    +    main_file = "example.claro",
    +    deps = {
    +        "Msg": ":hello_world",
    +    }
    +)
    +
    +
    +

    Fig 5:

    +
    +
    Hello, World!
    +
    +
    +

    ...and the behavior would depend on which dependency was chosen...

    +

    Fig 6:

    +
    +
    # BUILD
    +claro_binary(
    +    name = "test",
    +    main_file = "example.claro",
    +    deps = {
    +        "Msg": ":look_ma",  # Swapped for `:hello_world`.
    +    }
    +)
    +
    +
    +

    Fig 7:

    +
    +
    ----------------------
    +| Look ma, no hands! |
    +----------------------
    +
    +
    +

    Dep Validity is Based on Usage

    +

    The other subtle point that's likely easy to miss if it's not pointed out explicitly is that the validity of a Module +dependency is completely dependent upon the usage of the dependency. In less opaque terms, this just means that a +Module dependency is valid if the Module's API actually exports everything that is used by the consuming code. The +consuming code doesn't make any constraints on anything other than what it actually uses. So, a dependency can be +swapped for another that actually exports a completely different API, so long as it at least exports everything +that the consuming code actually used from the original Module's API.

    +

    For example, if a third Module actually implemented a totally different API such as:

    +

    Fig 8:

    +
    +
    # extra_exports.claro_module_api
    +provider getMessage() -> string;
    +
    +provider getMessageFromDB() -> future<string>;
    +
    +opaque newtype SecretMessage
    +
    +static SOME_OTHER_MESSAGE : SecretMessage;
    +
    +
    +

    the dependency would still be valid because example.claro only actually uses the getMessage(...) procedure that +is exported by both :look_ma and :hello_world.

    +

    This single design decision actually enables a huge amount of Build time configurability options. If you'd like to see +more about how you can take advantage of this, read about how you can swap dependencies programmatically using +Build flags. And if you're interested in becoming +a power-user, this feature can be leveraged in some very powerful ways via +Build Time Metaprogramming.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/visibility/BUILD b/module_system/visibility/BUILD new file mode 100644 index 00000000..35adf100 --- /dev/null +++ b/module_system/visibility/BUILD @@ -0,0 +1,33 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "visibility", + doc_template = "visibility.tmpl.md", + examples = [ + { + "example": "ex_private_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex_specific_target_visibility_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex_package_visibility_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex_subpackages_visibility_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex_public_visibility_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + ], +) diff --git a/module_system/visibility/ex_package_visibility_BUILD b/module_system/visibility/ex_package_visibility_BUILD new file mode 100644 index 00000000..55e064af --- /dev/null +++ b/module_system/visibility/ex_package_visibility_BUILD @@ -0,0 +1,10 @@ +$$load("//@claro-lang:rules.bzl", "claro_module") +$$ +claro_module( + name = "example", + # ... +$$ module_api_file = "example.claro_module_api", +$$ srcs = ["example.claro"], + # Now, visibility is granted to every target in the `//some/other` directory (package). + visibility = ["//some/other:__pkg__"], +) \ No newline at end of file diff --git a/module_system/visibility/ex_private_BUILD b/module_system/visibility/ex_private_BUILD new file mode 100644 index 00000000..bf4aeae9 --- /dev/null +++ b/module_system/visibility/ex_private_BUILD @@ -0,0 +1,11 @@ +$$load("//@claro-lang:rules.bzl", "claro_module") +$$ +claro_module( + name = "example", + # ... +$$ module_api_file = "example.claro_module_api", +$$ srcs = ["example.claro"], + # Visibility defaults to "private". + # Alternatively you could explicitly declare the target "private" using: + # visibility = ["//visibility:private"], +) \ No newline at end of file diff --git a/module_system/visibility/ex_public_visibility_BUILD b/module_system/visibility/ex_public_visibility_BUILD new file mode 100644 index 00000000..dafa44bc --- /dev/null +++ b/module_system/visibility/ex_public_visibility_BUILD @@ -0,0 +1,10 @@ +$$load("//@claro-lang:rules.bzl", "claro_module") +$$ +claro_module( + name = "example", + # ... +$$ module_api_file = "example.claro_module_api", +$$ srcs = ["example.claro"], + # Now, visibility is granted to every target globally. + visibility = ["//visibility:public"], +) \ No newline at end of file diff --git a/module_system/visibility/ex_specific_target_visibility_BUILD b/module_system/visibility/ex_specific_target_visibility_BUILD new file mode 100644 index 00000000..3f39655a --- /dev/null +++ b/module_system/visibility/ex_specific_target_visibility_BUILD @@ -0,0 +1,10 @@ +$$load("//@claro-lang:rules.bzl", "claro_module") +$$ +claro_module( + name = "example", + # ... +$$ module_api_file = "example.claro_module_api", +$$ srcs = ["example.claro"], + # Now, visibility is granted to the specifically mentioned target. + visibility = ["//some/other/specific:target"], +) \ No newline at end of file diff --git a/module_system/visibility/ex_subpackages_visibility_BUILD b/module_system/visibility/ex_subpackages_visibility_BUILD new file mode 100644 index 00000000..5280f651 --- /dev/null +++ b/module_system/visibility/ex_subpackages_visibility_BUILD @@ -0,0 +1,10 @@ +$$load("//@claro-lang:rules.bzl", "claro_module") +$$ +claro_module( + name = "example", + # ... +$$ module_api_file = "example.claro_module_api", +$$ srcs = ["example.claro"], + # Now, visibility is granted to every target at or below the `//some/other` directory (package). + visibility = ["//some/other:__subpackages__"], +) \ No newline at end of file diff --git a/module_system/visibility/visibility.generated_docs.html b/module_system/visibility/visibility.generated_docs.html new file mode 100644 index 00000000..10028505 --- /dev/null +++ b/module_system/visibility/visibility.generated_docs.html @@ -0,0 +1,353 @@ + + + + + + Visibility - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Visibility

    +

    Claro's deep integration with Bazel allows it to isolate all dependency-related concerns to the Build system rather than +cluttering the core language itself with such concerns. Claro's leveraging of Bazel's builtin visibility enforcement +features is a powerful example of this. Whereas most programming languages tend to only expose very coarse-grained +visibility controls (e.g. public/private), Bazel provides Claro programs with access to a wide range of extremely +fine-grained visibility controls.

    +

    You can read more in detail about +Visibility in Bazel's docs, or you can get the +important overview below.

    +
    +

    If you're using GitHub to host your codebase, Bazel's Visibility enforcement becomes even more powerful when used in +combination with +CODEOWNERS +which gives you a mechanism to ensure that Visibility declarations are actually enforceable and can't simply be changed +by someone without first taking into account why the visibility was constrained to a certain level in the first place.

    +
    +

    Private Visibility

    +

    All targets are "private" by default. So, if you don't want to allow any other targets defined outside the current BUILD +file to take a dependency on a given target, you can simply omit a visibility = ... declaration:

    +

    Fig 1:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Visibility defaults to "private".
    +    # Alternatively you could explicitly declare the target "private" using:
    +    #   visibility = ["//visibility:private"],
    +)
    +
    +
    +
    +

    Note: All targets defined in the same BUILD file are implicitly Visible to each other - meaning that they can +place a dependency on one another freely no matter what visiblity = ... declaration is listed in each target's +declaration.

    +
    +

    Target Visibility

    +

    In many cases, you'll be designing Modules to only be consumed by a very specific set of dependents. In this case, you +can explicitly name the specific targets that should be allowed to place a dependency on your target:

    +

    Fig 2:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Now, visibility is granted to the specifically mentioned target.
    +    visibility = ["//some/other/specific:target"],
    +)
    +
    +
    +

    This is by far the recommended approach. All other more permissive Visibility declarations detailed below should be +approached with caution.

    +

    Package Visibility

    +

    Depending on how your codebase gets organized, you'll likely run into the situation where a certain Module can be +generally useful for many Modules in a package. Rather than needing to list each target individually, you can whitelist +the entire package to have Visibility on a certain module.

    +

    Fig 3:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Now, visibility is granted to every target in the `//some/other` directory (package).
    +    visibility = ["//some/other:__pkg__"],
    +)
    +
    +
    +

    Subpackages Visibility

    +

    Somewhat more rarely, you may also end up with a codebase where a particular Module is useful for many Modules in both a +package and all subpackages beneath it. Rather than needing to explicitly list each package, you can make the target +Visible to all other targets at or "below" a certain package.

    +
    +This should be used sparingly when you have confidence that the design constraints of your codebase will be maintained +over time. Remember that the proliferation of many dependencies on a particular Module put that Module at risk at +becoming extremely difficult to change in the future. +
    +

    Fig 4:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Now, visibility is granted to every target at or below the `//some/other` directory (package).
    +    visibility = ["//some/other:__subpackages__"],
    +)
    +
    +
    +

    Public Visibility (Discouraged)

    +
    +

    While it's possible to make a certain target visible to every other target in the entire project, this is +discouraged. You will find that public Visibility can lead to a proliferation of dependencies that can sometimes make +the long-term maintenance of the overall project that much more difficult. The more dependencies that a particular +Module has, the more difficult it gets to make any changes to that Module's public API. Feel free to use this feature, +but please do it consciously, don't just get in a habit of doing this by default for convenience.

    +
    +

    Fig 5:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Now, visibility is granted to every target globally.
    +    visibility = ["//visibility:public"],
    +)
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/print.html b/print.html new file mode 100644 index 00000000..37a2b966 --- /dev/null +++ b/print.html @@ -0,0 +1,8509 @@ + + + + + + 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 provides an +easy-to-use abstraction to statically guarantee that programs are:

    + +

    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

    +
    + +

    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
    +
    +
    +

    String Formatting

    +

    Formatting strings is an incredibly common programming task, whether it be for the sake of debugging or for building +full-fledged CLI programs. Claro attempts to simplify this process by providing syntax sugar for directly templating +arbitrary expressions directly into a string.

    +
    +

    Note: At the moment, Claro only supports single-line strings, but multi-line strings are planned. Stay tuned for +this in a future release.

    +
    +

    To take advantage of this, any expression can be formatted into a string by wrapping it in {...}.

    +

    Fig 1:

    +
    +
    var s = "!EXAMPLE!";
    +print("prefix---{s}--suffix");
    +
    +provider foo() -> string {
    +  return "WOW!";
    +}
    +
    +# Formatted expressions really are arbitrary expressions, you can even call
    +# arbitrary procedures from them.
    +print("prefix---{foo()}---suffix");
    +
    +# Format strings can even be nested, though you should probably have a good
    +# reason for doing this.
    +print("prefix---{"inner+++{s}+++inner"}---suffix");
    +
    +# You can also use multiple fmt arg expressions!
    +print("Name:\t{getRandomName()}\nAge:\t{random::nextNonNegativeBoundedInt(random::forSeed(1), 20)}");
    +
    +provider getRandomName() -> string {
    +  # ...
    +  var names = ["Milo", "Millie", "Ruby"];
    +
    +  random::forSeed(2)
    +    |> random::nextNonNegativeBoundedInt(^, 3)
    +    |> var ind = ^;
    +
    +  return names[ind];
    +}
    +
    +

    Output:

    +
    prefix---!EXAMPLE!--suffix
    +prefix---WOW!---suffix
    +prefix---inner+++!EXAMPLE!+++inner---suffix
    +Name:	Millie
    +Age:	5
    +
    +
    +

    Escaping Curly-Braces in Strings

    +

    While Format Strings are very convenient, this does have the consequence of giving curly-braces a special significance +in string literals. So, to type a string literal that contains the { char, you must escape it using \{, for example:

    +

    Fig 2:

    +
    +
    print("This string has \{literal \{curlies} in it}");
    +
    +

    Output:

    +
    This string has {literal {curlies} in it}
    +
    +
    +

    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...
    +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.

    +
    +

    Read more about how Claro prevents data-races here.

    +
    +

    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!

    +
    +

    Error Handling

    +

    Claro takes a very principled stance that all control flow in the language should be modeled in a way that is +self-consistent within the type system - as such, Claro chooses not to model errors around "throwing Exceptions". While +many languages (e.g. Java/Python/C++/etc.) were designed around thrown exceptions as their error modeling tool, they all +suffer from the same antipattern that make it impossible to determine strictly from looking at a procedure signature +whether it's possible for the call to fail, and if so, what that failure might look like. This leads users into +unnecessary digging to read implementation details to determine how and why certain unexpected error cases inevitably +arise.

    +

    So, taking inspiration from many prior languages such as Rust, Haskell, and Go, Claro requires errors to be modeled +explicitly in procedures' signatures as possible return types so that all callers must necessarily either handle any +potential errors, or explicitly ignore them or propagate them up the call stack.

    +

    std::Error<T>

    +

    Claro's +std +module exports the following type definition:

    +

    Fig 1:

    +
    +
    newtype Error<T> : T
    +
    +
    +

    This type is a trivial wrapper around any arbitrary type. Its power is in the special treatment that the compiler gives +to this type to power Claro's error handling functionality. But first, let's take a look at how a procedure might make +use of this type to represent states in practice - the below example demonstrates a function that models safe indexing +into a list:

    +

    Fig 2:

    +
    +
    atom IndexOutOfBounds
    +function safeGet<T>(l: [T], i: int) -> oneof<T, std::Error<IndexOutOfBounds>> {
    +  if (i < 0 or i >= len(l)) {
    +    return std::Error(IndexOutOfBounds);
    +  }
    +  return l[i];
    +}
    +
    +var l = [1, 2, 3];
    +match (safeGet(l, getRandomIndex())) {
    +  case _:std::Error<IndexOutOfBounds> -> print("Index out of bounds!");
    +  case X                              -> print("Successfully retrieved: {X}");
    +}
    +# ...
    +provider getRandomIndex() -> int {
    +  random::forSeed(1)
    +    |> random::nextNonNegativeBoundedInt(^, 8)
    +    |> var i = ^;
    +  return i;
    +}
    +
    +

    Output:

    +
    Index out of bounds!
    +
    +
    +

    To drive the example home, instead of wrapping an atom which doesn't provide any information beyond the description of +the error itself, the error could wrap a type that contains more information:

    +

    Fig 3:

    +
    +
    atom TooHigh
    +atom TooLow
    +newtype IndexOutOfBounds : struct {
    +  reason: oneof<TooHigh, TooLow>,
    +  index: int
    +}
    +function safeGet<T>(l: [T], i: int) -> oneof<T, std::Error<IndexOutOfBounds>> {
    +  if (i < 0) {
    +    return std::Error(IndexOutOfBounds({reason = TooLow, index = i}));
    +  } else if (i >= len(l)) {
    +    return std::Error(IndexOutOfBounds({reason = TooHigh, index = i}));
    +  }
    +  return l[i];
    +}
    +
    +var l = [1, 2, 3];
    +match (safeGet(l, getRandomIndex())) {
    +  case std::Error(ERR) ->
    +    var unwrappedErr = unwrap(ERR);
    +    match (unwrappedErr.reason) {
    +      case _:TooHigh ->
    +        print("Index {unwrappedErr.index} is too high!");
    +      case _:TooLow ->
    +        print("Index {unwrappedErr.index} is too low!");
    +    }
    +  case X -> print("Successfully retrieved: {X}");
    +}
    +# ...
    +provider getRandomIndex() -> int {
    +  random::forSeed(1)
    +    |> random::nextNonNegativeBoundedInt(^, 8)
    +    |> var i = ^;
    +  return i;
    +}
    +
    +

    Output:

    +
    Index 5 is too high!
    +
    +
    +

    Continue on to the next section to learn about how Claro enables simple propagation of std::Error<T> values.

    +

    Error Propagation via ?= Operator

    +

    As mentioned in the previous section, the power of Claro's builtin std::Error<T> type comes from the special treatment +that the compiler gives to values of that type. Specifically, Claro gives you the ability to early-return an error value +from a procedure. If for some reason a procedure has no way of actually handling a potential error itself, it can opt to +delegate the handling of the error to any callers. This allows the procedure doing error propagation to be written to +handle only the "happy path".

    +

    This example demonstrates a procedure that propagates potential errors to its callers:

    +

    Fig 1:

    +
    +
    atom IndexTooHigh
    +atom IndexTooLow
    +function safeGet<T>(l: [T], i: int)
    +  -> oneof<T, std::Error<IndexTooHigh>, std::Error<IndexTooLow>> {
    +  # ...
    +  if (i < 0) {
    +    return std::Error(IndexTooLow);
    +  } else if (i >= len(l)) {
    +    return std::Error(IndexTooHigh);
    +  }
    +  return l[i];
    +}
    +
    +function getRandomPairFromList<T>(l: [T], rng: random::RandomNumberGenerator)
    +    -> oneof<tuple<T, T>, std::Error<IndexTooHigh>, std::Error<IndexTooLow>> {
    +  # std::Error may propagate from either call to safeGet(...).
    +  var first: T ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5));
    +  # Note the type annotation isn't necessary.
    +  var second ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5));
    +  return (first, second);
    +}
    +
    +var rng = random::forSeed(0);
    +
    +var firstPair = getRandomPairFromList([1, 2, 3, 4], rng);
    +print(firstPair);
    +var secondPair = getRandomPairFromList([1, 2, 3, 4], rng);
    +print(secondPair);
    +
    +

    Output:

    +
    (1, 4)
    +Error(IndexTooHigh)
    +
    +
    +
    +

    Note: The error propagation above doesn't allow the caller to know details about whether the error came from the +first or second call to safeGet(). This may or may not be desirable - but the design space is left open to Claro users +to decide how they want to signal errors to best model the noteworthy states of their problem domain.

    +
    +

    ?= Operator Drops All Error Cases

    +

    You can observe in the above example that the ?= operator will propagate any std::Error<T> found on the +right-hand-side of the assignment. So, as a result, the value that reaches the variable on the left-hand-side of the +assignment will drop all std::Error<T> variants from the oneof<...>.

    +

    Below, some examples are listed to indicate the resulting type of the ?= operator:

    +

    Fig 2:

    +
    +
    atom A
    +atom B
    +atom C
    +
    +provider demoErrorPropagation() -> oneof<A, B, std::Error<B>, std::Error<C>> {
    +  # When there would be multiple non-error variants, the result type remains a oneof<...>.
    +  var firstPotentialErr: oneof<A, B, std::Error<C>> = # ...
    +    A;
    +  var firstTypeDemo: oneof<A, B> ?= firstPotentialErr;
    +  _ = firstTypeDemo;
    +
    +  # When there would only be a single non-error variant, the result type is narrowed to a concrete type.
    +  var secondPotentialErr: oneof<A, std::Error<B>, std::Error<C>> = # ...
    +    A;
    +  var secondTypeDemo: A ?= secondPotentialErr;
    +
    +  return secondTypeDemo;
    +}
    +
    +
    +

    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.

    +

    Static Enforcement of requires(...) Clauses

    +

    Of course, if you attempted to call a generic procedure that requires some contract(s) to be implemented, a compilation +error will be triggered if the contract was not actually implemented.

    +

    Fig 4:

    +
    +
    # Operators<double> hasn't been implemented, so this call will be rejected.
    +print(sum([1.0, 2.0, 3.0]));
    +
    +

    Compilation Errors:

    +
    Invalid Generic Procedure Call: For the call to the following generic procedure `sum` with the following signature:
    +		`function<[T] -> T> Generic Over {T} Requiring Impls for Contracts {Operators$<T>}`
    +	No implementation of the required contract Operators$<double>.
    +1 Error
    +
    +
    +

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

    +

    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).

    +

    Contracts with Multiple Type Params

    +

    So far we've only demonstrated very simple contracts with over a single generic type parameter - however, there is no +hard restriction on the number of type parameters that a contract can reference. (Of course, typical software design +principles still apply, a contract with many type params is probably going to be too complex to actually be used +effectively in practice.)

    +

    Here's a contract defined over multiple type params:

    +

    Fig 1:

    +
    +
    atom IndexOutOfBounds
    +contract RandomAccess<C, E> {
    +  function read(collection: C, index: int) -> oneof<E, std::Error<IndexOutOfBounds>>;
    +  function write(collection: C, index: int, elem: E) -> oneof<std::OK, std::Error<IndexOutOfBounds>>;
    +}
    +
    +
    +

    And an implementation of that contract:

    +

    Fig 2:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  # ...
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +
    +
    +
    +

    Note: Learn more about the ?= operator used in the above example in the +Error Handling section.

    +
    +

    Calling a Contract Procedure Over Multiple Type Params

    +

    A contract procedure is always called in exactly the same way regardless of how many type parameters the contract was +defined over.

    +

    Fig 3:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +
    +var myLinkedList = Node(mut {val = "head", next = Node(mut {val = "middle", next = Node(mut {val = "tail", next = std::Nothing})})});
    +
    +for (i in [-1, 0, 1, 2, 3]) {
    +  var readRes =
    +    # Explicitly constrain the return type, so Claro knows which contract implementation to dispatch to.
    +    cast(
    +      oneof<string, std::Error<IndexOutOfBounds>>,
    +      RandomAccess::read(myLinkedList, i)
    +    );
    +  print("index {i}: {readRes}");
    +}
    +
    +

    Output:

    +
    index -1: Error(IndexOutOfBounds)
    +index 0: head
    +index 1: middle
    +index 2: tail
    +index 3: Error(IndexOutOfBounds)
    +
    +
    +

    Limitation of the Above Contract Definition

    +
    +

    Notice that in the prior example, the call to +RandomAccess::read(...) is wrapped in an explicit static cast(...). If you read closely, you can see that this is +because the arguments alone do not fully constrain the type that the call should return (it could be that you intend +to dispatch to some other impl RandomAccess<Node<string>, Foo>). Read more about this situation in +Required Type Annotations.

    +
    +

    By allowing this sort of contract definition, Claro actually opens up a design space for contracts that can have +multiple slight variations implemented, enabling callers can conveniently just get the return type that they need based +on context.

    +

    However, you could argue that this particular contract definition does not benefit from that flexibility. This contract +would arguably be more useful if RandomAccess::read(...) didn't have an ambiguous return type.

    +

    Learn how to address this issue using "Implied Types"

    +

    (Advanced) Implied Types

    +

    In the previous section we +noticed a problem +with the definition of the contract:

    +

    Fig 1:

    +
    +
    atom IndexOutOfBounds
    +contract RandomAccess<C, E> {
    +  function read(collection: C, index: int) -> oneof<E, std::Error<IndexOutOfBounds>>;
    +  function write(collection: C, index: int, elem: E) -> oneof<std::OK, std::Error<IndexOutOfBounds>>;
    +}
    +
    +
    +

    Specifically, we decided that this contract definition is too unconstrained: knowing the types of the arguments in a +RandomAccess::read(...) call is insufficient to know which contract implementation the call should dispatch to.

    +

    To drive this point home, in the below example there are two implementations of the contract both over the same +collection type, but over different element types. In this definition of the contract, there's nothing stopping this +from happening.

    +

    Fig 2:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  # ...
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +implement RandomAccess<Node<string>, int> {
    +  function read(head: Node<string>, index: int) -> oneof<int, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return len(unwrap(found).val);
    +  }
    +  function write(head: Node<string>, index: int, elem: int) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = "{elem}";
    +    return std::OK;
    +  }
    +}
    +
    +
    +

    As a result, any calls to the RandomAccess::read(...) function are inherently ambiguous, and require the return type +to be explicitly, statically constrained. Any unconstrained calls to this contract procedure would result in a +compilation error where Claro tries to ask the user which contract implementation they actually intend to dispatch to:

    +

    Fig 3:

    +
    +
    var myLinkedList = Node(mut {val = "head", next = Node(mut {val = "middle", next = Node(mut {val = "tail", next = std::Nothing})})});
    +
    +print(RandomAccess::read(myLinkedList, 1));
    +
    +

    Compilation Errors:

    +
    implied_types_EX3_example.claro:3: Ambiguous Contract Procedure Call: Calls to the procedure `RandomAccess$<C, E>::read` is ambiguous without an explicit type annotation to constrain the expected generic return type `oneof<E, [module at //stdlib:std]::Error<IndexOutOfBounds>>`.
    +print(RandomAccess::read(myLinkedList, 1));
    +      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +
    +

    Note: This ambiguity is an inherent feature of the RandomAccess<C, E> definition itself. Claro would still +produce a compilation error if there happened to only be a single implementation because another conflicting +implementation could be added at any time.

    +
    +

    Statically Preventing Ambiguous Contract Definitions with Implied Types

    +

    Of course, there's arguably very little reason for this particular contract to actually allow multiple +implementations over the same collection type (the second implementation RandomAccess<Node<string>, int> above is very +contrived). So ideally this contract definition should statically encode a restriction on such implementations. It +should only be possible to implement this contract once for a given collection type - meaning that there would be +no more ambiguity on the return type of calls to RandomAccess::read(...).

    +

    Thankfully, you can encode this restriction directly into contract definition using "Implied Types":

    +

    Fig 4:

    +
    +
    atom IndexOutOfBounds
    +
    +# Type `C` implies type `E`. There can only be a single RandomAccess impl for any given `C`.
    +contract RandomAccess<C => E> {
    +  function read(collection: C, index: int) -> oneof<E, std::Error<IndexOutOfBounds>>;
    +  function write(collection: C, index: int, elem: E) -> oneof<std::OK, std::Error<IndexOutOfBounds>>;
    +}
    +
    +
    +

    The only change is in the declaration of the contract's generic type parameters: <C => E> (read: "C implies E") +was used instead of <C, E>. This explicitly declares to Claro that this implication must be maintained for all +types, C, over which the contract is implemented throughout the entire program.

    +

    As a result, it will now be a compilation error for two separate implementations RandomAccess<C, E1> and +RandomAccess<C, E2> (where E1 != E2) to coexist, as this would violate the constraint that C => E.

    +

    So now, attempting to define the two implementations given in the previous example would result in a +compilation error:

    +

    Fig 5:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  # ...
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +implement RandomAccess<Node<string>, int> {
    +  function read(head: Node<string>, index: int) -> oneof<int, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return len(unwrap(found).val);
    +  }
    +  function write(head: Node<string>, index: int, elem: int) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = "{elem}";
    +    return std::OK;
    +  }
    +}
    +
    +

    Compilation Errors:

    +
    Invalid Contract Implementation: The Contract you're attempting to implement is defined as RandomAccess$<C => E> which means that there can only be exactly one implementation of RandomAccess$ for the unconstrained type params C.
    +		However, the following conflicting implementations were found:
    +			RandomAccess$<Node<string>, int>
    +		AND
    +			RandomAccess$<Node<string>, string>
    +1 Error
    +
    +
    +

    Now, by eliminating one of the implementations you fix the compilation error. In addition, you're now able to call +RandomAccess::read(...) without any ambiguity!

    +

    Fig 6:

    +
    +
    newtype Node<T> : mut struct {
    +  val: T,
    +  next: oneof<Node<T>, std::Nothing>
    +}
    +function findNode<T>(head: Node<T>, index: int) -> oneof<Node<T>, std::Error<IndexOutOfBounds>> {
    +  # ...
    +  if (index < 0) { return std::Error(IndexOutOfBounds); }
    +  repeat (index) {
    +    var next = unwrap(head).next;
    +    if (next instanceof Node<T>) {
    +      head = next;
    +    } else {
    +      return std::Error(IndexOutOfBounds);
    +    }
    +  }
    +  return head;
    +}
    +
    +# This is now the only implementation in the entire program.
    +implement RandomAccess<Node<string>, string> {
    +  function read(head: Node<string>, index: int) -> oneof<string, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    return unwrap(found).val;
    +  }
    +  function write(head: Node<string>, index: int, elem: string) -> oneof<std::OK, std::Error<IndexOutOfBounds>> {
    +    # ...
    +    var found ?= findNode(head, index);
    +    unwrap(found).val = elem;
    +    return std::OK;
    +  }
    +}
    +
    +var myLinkedList = Node(mut {val = "head", next = Node(mut {val = "middle", next = Node(mut {val = "tail", next = std::Nothing})})});
    +
    +print(RandomAccess::read(myLinkedList, 1));
    +
    +

    Output:

    +
    middle
    +
    +
    +

    Deciding Whether to Use Implied Types to Constrain a Contract's Implementations is a Judgement Call

    +

    If you made it through this entire section, you should have a strong understanding of the purpose and value add of +implied types. However, keep in mind that both unconstrained and implied types have their uses! In particular, the +return type ambiguity demonstrated in this section may actually be used to good effect, particularly in the case of +designing more "fluent" APIs.

    +

    Don't just assume that every contract should be defined using implied types. You should be applying good design +judgement to determine if and when to use this feature or to leave a contract's type parameters unconstrained.

    +

    Dynamic Dispatch

    +

    "Dynamic Dispatch" is a fancy term for a call to an overloaded procedure (one with multiple implementations whose +signatures differ only in the types of args/return value) being routed (a.k.a. "dispatched") to the appropriate +implementation based on type information solely available at runtime.

    +

    TLDR;

    +

    The short version of this section is that Claro supports the following:

    +

    Fig 1:

    +
    +
    requires(Stringify<T>)
    +consumer prettyPrintList<T>(l: [T]) {
    +  for (e in l) {
    +    print(Stringify::displayStr(e));
    +  }
    +}
    +
    +var elems: [oneof<Foo, Bar, Buzz>] = [Foo(1234), Bar("some string"), Buzz("another")];
    +prettyPrintList(elems);
    +
    +contract Stringify<T> {
    +  function displayStr(t: T) -> string;
    +}
    +
    +newtype Foo : int
    +implement Stringify<Foo> {
    +  function displayStr(t: Foo) -> string {
    +    var boundingLine = strings::repeated("*", len("{unwrap(t)}") + len("* Foo() *"));
    +    return "{boundingLine}\n* {t} *\n{boundingLine}";
    +  }
    +}
    +
    +newtype Bar : string
    +implement Stringify<Bar> {
    +  function displayStr(t: Bar) -> string {
    +    var boundingLine = strings::repeated("-", len(unwrap(t)) + len("| Bar() |"));
    +    return "{boundingLine}\n| {t} |\n{boundingLine}";
    +  }
    +}
    +
    +newtype Buzz : string
    +implement Stringify<Buzz> {
    +  function displayStr(t: Buzz) -> string {
    +    var boundingLine = strings::repeated("#", len(unwrap(t)) + len("# Buzz() #"));
    +    return "{boundingLine}\n# {t} #\n{boundingLine}";
    +  }
    +}
    +
    +

    Output:

    +
    *************
    +* Foo(1234) *
    +*************
    +--------------------
    +| Bar(some string) |
    +--------------------
    +#################
    +# Buzz(another) #
    +#################
    +
    +
    +

    Feel free to ponder how this works. But keep reading if it's not immediately obvious what's going on here.

    +

    By Comparison to Object-Oriented Programming

    +
    +This entire section is intended to build up your intuition for Claro's approach to Dynamic Dispatch by comparing and +contrasting with Java. +

    Skip ahead TODO(steving) Add link if you're already familiar with the concept of Dynamic Dispatch, +or keep reading for something of a deep dive.

    +
    +

    Claro is truly a procedural language, and so is philosophically opposed to the personification of data that is a +fundamental property of "Object-Oriented" programming (OOP) languages like Java/Python/C++/etc. So, you won't find +anything resembling "Objects" or "Classes" in Claro. Additionally, Claro is philosophically opposed to the complexity of +inheritance, so again Claro's type system does not support it.

    +

    However, though Claro takes issue with the path OOP takes to achieve it, the paradigm provides some obviously useful +abstractions that help programmers write very expressive code. Of particular interest in this section is the ability to +write code that treats values of distinct types interchangeably for the sake of dispatching to procedures that are +known to be implemented over each of the distinct types in question.

    +

    In a language like Java, you'll accomplish this either by using interfaces, or by creating subtype relationships +between types using inheritance.

    +

    Using an Interface "Type" as a Procedure Arg (in an OOP language)

    +

    For example, the below Java code defines an interface with a single "method" that three classes implement.

    +

    Fig 2:

    +
    +
    /*** JAVA ***/
    +import java.util.List;
    +import java.util.ArrayList;
    +import java.lang.StringBuilder;
    +
    +interface Stringify {
    +  String displayStr();
    +}
    +
    +class Foo implements Stringify {
    +  // ...
    +  private final int wrapped;
    +  public Foo(int wrapped) {
    +    this.wrapped = wrapped;
    +  }
    +
    +  @Override
    +  public String displayStr() {
    +    // ...
    +    String boundingLine = Util.repeated('*', String.valueOf(this.wrapped).length() + "* Foo() *".length());
    +    return String.format("%s\n* Foo(%s) *\n%s", boundingLine, this.wrapped, boundingLine);
    +  }
    +}
    +
    +class Bar implements Stringify {
    +  // ...
    +  private final String wrapped;
    +  public Bar(String wrapped) {
    +    this.wrapped = wrapped;
    +  }
    +
    +  @Override
    +  public String displayStr() {
    +    // ...
    +    String boundingLine = Util.repeated('-', this.wrapped.length() + "| Bar() |".length());
    +    return String.format("%s\n| Foo(%s) |\n%s", boundingLine, this.wrapped, boundingLine);
    +  }
    +}
    +
    +class Buzz implements Stringify {
    +  // ...
    +  private final String wrapped;
    +  public Buzz(String wrapped) {
    +    this.wrapped = wrapped;
    +  }
    +
    +  @Override
    +  public String displayStr() {
    +    // ...
    +    String boundingLine = Util.repeated('#', this.wrapped.length() + "# Buzz() #".length());
    +    return String.format("%s\n# Buzz(%s) #\n%s", boundingLine, this.wrapped, boundingLine);
    +  }
    +}
    +
    +class Util {
    +  public static String repeated(char c, int n) {
    +    StringBuilder sb = new StringBuilder();
    +    for (; n > 0; n--) {
    +      sb.append(c);
    +    }
    +    return sb.toString();
    +  }
    +}
    +
    +
    +
    +

    And so a Java programmer can write a method that accepts an argument of type Stringify... but in Java parlance +any type that implements the Stringify interface can be considered a subtype of Stringify and passed in its +place:

    +

    Fig 3:

    +
    +
    /*** JAVA ***/
    +public class Demo {
    +  public static void main(String... args) {
    +    // Foo, Bar, and Buzz are all "subtypes" of Stringify.
    +    prettyPrint(new Foo(1234));
    +    prettyPrint(new Bar("some string"));
    +    prettyPrint(new Buzz("another"));
    +  }
    +
    +  static void prettyPrint(Stringify x) {
    +    System.out.println(x.displayStr());
    +  }
    +}
    +
    +
    +

    This is a very convenient abstraction. However, in Java this single method implementation must handle multiple +possible concrete subtypes of Stringify (in this case Foo, Bar, and Buzz). Java addresses this by dispatching to +the correct implementation of the displayStr() method at runtime, by dynamically checking the actual concrete type +of the object currently being handled. This is already an example of Dynamic Dispatch. In Java, Dynamic Dispatch +is the norm.

    +

    Requiring a Contract to Be Implemented Over Generic Type Params (In Claro)

    +

    But subtyping is by no means essential for this to be possible. By now you've already seen that +Contracts provide a mechanism to express the same thing without resorting to creating +any subtyping relationships between types.

    +

    Fig 4:

    +
    +
    #### CLARO ####
    +prettyPrint(Foo(1234));
    +prettyPrint(Bar("some string"));
    +prettyPrint(Buzz("another"));
    +
    +requires(Stringify<T>)
    +consumer prettyPrint<T>(t: T) {
    +  print(Stringify::displayStr(t));
    +}
    +
    +contract Stringify<T> {
    +  function displayStr(t: T) -> string;
    +}
    +
    +newtype Foo : int
    +implement Stringify<Foo> {
    +  function displayStr(t: Foo) -> string {
    +    var boundingLine = strings::repeated("*", len("{unwrap(t)}") + len("* Foo() *"));
    +    return "{boundingLine}\n* {t} *\n{boundingLine}";
    +  }
    +}
    +
    +newtype Bar : string
    +implement Stringify<Bar> {
    +  function displayStr(t: Bar) -> string {
    +    var boundingLine = strings::repeated("-", len(unwrap(t)) + len("| Bar() |"));
    +    return "{boundingLine}\n| {t} |\n{boundingLine}";
    +  }
    +}
    +
    +newtype Buzz : string
    +implement Stringify<Buzz> {
    +  function displayStr(t: Buzz) -> string {
    +    var boundingLine = strings::repeated("#", len(unwrap(t)) + len("# Buzz() #"));
    +    return "{boundingLine}\n# {t} #\n{boundingLine}";
    +  }
    +}
    +
    +

    Output:

    +
    *************
    +* Foo(1234) *
    +*************
    +--------------------
    +| Bar(some string) |
    +--------------------
    +#################
    +# Buzz(another) #
    +#################
    +
    +
    +

    And additionally, as Claro's +generic procedures are "monomorphized", +there is actually no Dynamic Dispatch going on in the above example. And when you stop and think about it, why would +there be? As a human looking at the three calls to prettyPrint(...), there's zero uncertainty of the types in +question. Unlike in the Java case, the Claro compiler actually takes advantage of this type information as well to +generate code that statically dispatches to the correct implementations without requiring any runtime type checks.

    +

    A (Not So) Brief Aside on the Limitations of Subtyping

    +

    You may be thinking that Java's use of subtyping makes the language simpler because it allows you to avoid the use of +Generics, but this is debatable at best. Consider a very slightly modified version of the above prettyPrint() function +that instead takes two arguments:

    +

    Fig 5:

    +
    +
    /*** JAVA ***/
    +public class Demo {
    +  public static void main(String... args) {
    +    // Java allows **both** of these calls - whether you want this or not.
    +    prettyPrintPair(new Foo(1234), new Foo(56678));
    +    prettyPrintPair(new Foo(1234), new Bar("some string"));
    +  }
    +
    +  static void prettyPrintPair(Stringify x, Stringify y) {
    +    System.out.println("First:" + x.displayStr());
    +    System.out.println("Second:" + x.displayStr());
    +  }
    +}
    +
    +
    +

    As it's currently defined, there's nothing requiring the two arguments to actually have the same type. In this trivial +example, that may be fine, but if I were to actually want to ensure that two arguments both implement an interface +and they both actually have the same type, then I'm out of luck - there's no way to statically encode this +constraint in Java!

    +

    In Claro, you would simply write:

    +

    Fig 6:

    +
    +
    #### CLARO ####
    +requires(Stringify<T>)
    +consumer prettyPrintPair<T>(x: T, y: T) {
    +  print("First:\n{Stringify::displayStr(x)}");
    +  print("Second:\n{Stringify::displayStr(y)}");
    +}
    +
    +
    +

    And it will be a compilation error to pass arguments of different types:

    +

    Fig 7:

    +
    +
    #### CLARO ####
    +prettyPrintPair(Foo(1234), Bar("some string"));
    +
    +

    Compilation Errors:

    +
    dynamic_dispatch_EX7_example.claro:2: Invalid type:
    +	Found:
    +		Bar
    +	Expected:
    +		Foo
    +prettyPrintPair(Foo(1234), Bar("some string"));
    +                           ^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    But yet it will still be completely valid to pass arguments of the same type just like we wanted:

    +

    Fig 8:

    +
    +
    #### CLARO ####
    +prettyPrintPair(Foo(1234), Foo(5678));
    +print("");
    +prettyPrintPair(Bar("some string"), Bar("another"));
    +
    +

    Output:

    +
    First:
    +*************
    +* Foo(1234) *
    +*************
    +Second:
    +*************
    +* Foo(5678) *
    +*************
    +
    +First:
    +--------------------
    +| Bar(some string) |
    +--------------------
    +Second:
    +----------------
    +| Bar(another) |
    +----------------
    +
    +
    +

    And for the sake of completeness, Claro's generics also allow you to explicitly express that you would like to allow +both arguments to potentially have different types:

    +

    Fig 9:

    +
    +
    requires(Stringify<T>, Stringify<V>)
    +consumer prettyPrintPair<T, V>(x: T, y: V) {
    +  print("First:\n{Stringify::displayStr(x)}");
    +  print("Second:\n{Stringify::displayStr(y)}");
    +}
    +
    +prettyPrintPair(Foo(1234), Bar("some string"));
    +
    +
    +

    *For the sake of transparency, as Claro's a WIP, there's actually currently an open compiler regression +that broke this functionality at the moment. TODO(steving) Fix this.

    +
    +

    HOT TAKE: While Java's support for subtyping may seem like a powerful tool (and sometimes it really is +convenient), it's actually explicitly taking away type information. You in fact end up with a +less expressive language as a result of depending on subtyping.

    +
    +

    Values Of Unknown Type

    +

    So far we've seen that Claro programs do not need to resort to Dynamic Dispatch in situations where the types are +actually statically guaranteed to be fixed. However, it's not that difficult to conceive of a situation where a specific +type cannot be known until runtime.

    +

    For example, consider a simple game where different units are dynamically created throughout the course of gameplay. It +would be very convenient for the game to be able to implement drawing arbitrary units without being forced to resort to +painstakingly hand-write rendering logic for each unit explicitly. In fact, the below video demonstrates a simple +Asteroids game written in Claro that accomplishes exactly that:

    + +

    The game's implementation contains a function with the following signature that fully handles the game's rendering logic +(see the game's full implementation +here):

    +

    Fig 10:

    +
    +
    contract Unit<T> {
    +  consumer move(t: T);
    +  function hasSpeedBoost(t: T) -> boolean;
    +}
    +
    +contract Render<T> {
    +  function render(t: T) -> char;
    +  function getLoc(t: T) -> Location;
    +}
    +
    +requires(Unit<T>, Render<T>)
    +function gameTick<T>(gameUnits: mut [T], gameBoard: [mut [char]], spaceship: Spaceship, onlyUnitsWSpeedBoost: boolean)
    +    -> tuple<GameOverStatus, ExplosionCount> {
    +  # The full implementation is too long for these docs. For the full implementation, see:
    +  # See https://github.com/JasonSteving99/claro-lang/blob/d6177ff8719e894f709c42811bd0b7f0a3d6c4d9/examples/claro_programs/asteroids.claro#L121-L123
    +  # ...
    +  # Update unit locations.
    +  for (unit in gameUnits) {
    +    # ...
    +    Unit::move(unit);
    +  }
    +  # ...
    +  # Populate gameBoard.
    +  for (unit in gameUnits) {
    +    # ...
    +    gameBoard[loc.r][loc.c] = Render::render(unit);
    +  }
    +  # ...
    +}
    +
    +
    +

    Looking more closely, the function accepts an argument gameUnits: mut [T] that contains all of the units, including +the asteroids, the player's ship, and any missiles that the player fired. This function is able to actually handle all +of these unit types without the programmer needing to hardcode any specific details about them explicitly because of the +requires(Unit<T>, Render<T>) constraint on the function that ensures that whatever is inside the gameUnits list, +all elements will certainly implement the specified contracts. As a result, the function is able to treat all elements +within the gameUnits list interchangeably, even though it has no knowledge whatsoever of what types are actually +represented within.

    +

    To make things even more interesting, the call (see +full source +) to the gameTick() function, passes a gameUnits list defined to contain various different unit types:

    +

    Fig 11:

    +
    +
    var gameUnits: mut [oneof<Asteroid, Missile, Spaceship>];
    +# ...
    +var gameTickRes = gameTick(gameUnits, ...);
    +
    +
    +

    This goes to demonstrate that Claro is smart enough to actually understand that the type +oneof<Asteroid, Missile, Spaceship> satisfies the requires(Unit<T>, Render<T>) constraint, because each variant +implements the required contract (if any didn't, the call would be rejected with a compilation error).

    +

    This is Dynamic Dispatch! Because the call was made over types that can't be known until runtime, Claro generates code +that will perform the necessary type checks to dispatch to the appropriate procedures at runtime.

    +

    Dynamic Dispatch is Rare

    +

    If you've made it this far, then congrats! You should have a deep understanding of Dynamic Dispatch in Claro!

    +

    The last thing to mention is that Dynamic Dispatch is very intentionally something that you have to explicitly opt +into in Claro. It is slower and more complicated than the typical Static Dispatch, and Claro has been carefully designed +to make Dynamic Dispatch a rare occurrence as it's actually only necessary in very specific, limited situations. Your +takeaway from this section should be that while it is very simple to achieve Dynamic Dispatch in Claro, it is actually +not a very common situation that you are very likely to run into on a regular basis. But when it does, Claro makes your +life easy.

    +

    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(1)
    +
    +
    +

    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. +
    +

    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 rigorous "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.739 seconds
    +Builtin copy time: 1.35E-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(37), ComplexData(6)}), ComplexData((ComplexData((ComplexData(-1), ComplexData(-1))), ComplexData(82))), ComplexData({ComplexData(2), ComplexData(64), ComplexData(81)})})
    +
    +
    +

    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])
    +
    +
    +

    Resource Files

    +

    Strangely, bundling files into builds to be read at runtime regardless of where the executable program gets moved and +run from can be a significant pain point in many languages. Of course, each language provides some mechanism to address +this concern, but it typically requires either learning about some external build system feature, or figuring out how to +pass the correct sequence of flags to compilers. And then even once you do, figuring out the correct incantation to +successfully read that resource file can be just as frustrating +(looking at you Java).

    +

    Claro tries to make this much simpler by directly modelling Resource Files as part of the exposed claro_binary() and +claro_module() build rules that you'll be using already. Declaring a Resource File to be bundled into the final deploy +Jar is as simple as listing it in your Build target similarly to how a Module dependency would be declared:

    +

    Fig 1:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_binary")
    +
    +claro_binary(
    +    name = "example",
    +    main_file = "ex1.claro",
    +    resources = {
    +        "MyReource": "example_resource.txt",
    +    }
    +)
    +
    +
    +

    The Build target above has an explicit build time dependency on a Resource File named example_resource.txt. As you've +by now come to expect, if the file is missing for some reason Bazel will raise a Build error letting you know. You won't +simply have to try running your program and go through a whole debugging process just to find out 5 minutes later that +you misspelled the file name.

    +

    Now, your program has access to the Resource File MyResource by using the auto-generated resources::MyResource +static value. It can then be read using one of the available functions exported by the StdLib's +files Module:

    +

    Fig 2:

    +
    +
    resources::MyResource
    +  |> files::readOrPanic(^)
    +  |> print("Resource File Content:\n\n{^}");
    +
    +

    Output:

    +
    Resource File Content:
    +
    +this is just
    +some arbitrary text
    +in a file
    +to use as an example
    +
    +
    +

    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.

    +

    Fig 1:

    +
    +
    # 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):

    +

    Fig 2:

    +
    +
    # 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));
    +  }
    +}
    +
    +
    +

    Fig 3:

    +
    +
    # 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.

    +
    +

    Dependency Naming: While consumers are allowed to pick any name they want for Modules that they depend on, it should +be noted that Claro will adopt the convention that all non-StdLib Module names must begin with an uppercase letter. +All StdLib Modules will be named beginning with a lowercase letter. This is intended to allow the set of StdLib modules +to expand over time without ever having to worry about naming collisions with user defined Modules in existing programs.

    +

    Static enforcement of this convention hasn't been implemented yet, but just know that it's coming in a future release.

    +
    +

    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:

    +

    Fig 4:

    +
    +
    # BUILD
    +
    +load("@claro-lang//:rules.bzl", "claro_module")
    +
    +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.

    +

    Fig 5:

    +
    +
    # BUILD
    +
    +load("@claro-lang//:rules.bzl", "claro_binary")
    +
    +...
    +
    +claro_binary(
    +    name = "test",
    +    main_file = "test.claro",
    +    deps = {
    +        "Ex": ":example",
    +    },
    +)
    +
    +
    +

    Fig 6:

    +
    +
    # 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);
    +
    +

    Output:

    +
    ----------
    +| Foo: 3 |
    +----------
    +-----------
    +| Foo: 10 |
    +-----------
    +
    +
    +

    Module APIs

    +

    As you've seen in the previous section, a Claro Module is defined by its API which fully declares what downstream +consumers of the Module will gain access to by placing a dependency on it. In Claro, this API is explicitly declared +using a .claro_module_api file that simply contains type information, signatures, and names of what's implemented +within, but does not contain any concrete implementations itself. This may seem like it's just extra boilerplate, but in +fact, this separation of API and implementation is actually the source of the extreme modularity that Claro programs can +leverage.

    +

    In particular, it's very important to note that this separation implies that it is impossible for two separate modules +to be +"tightly coupled"! +Whereas in other programming languages like Java or Python, you must consciously plan ahead in order to maintain +"loose coupling" between program components.

    +

    This guarantee of loose coupling between Modules will be evaluated in more detail in a +following section, but for now, we'll just take a moment to +explicitly outline exactly what can be exported by a Module's API.

    +

    Procedure Signatures

    +

    Of course, the most obvious reason to create a new Module is to factor out some logic for the sake of making it reusable +in multiple places in your program, or even just to keep another Module's implementation from growing in size +indefinitely. So, the first thing that you're likely to export from a Module are procedures. To do so, you will simply +declare the signature of the procedure(s) to be exported - that is, everything but the implementation of the procedure. +A procedure signature ends with a ; instead of the usual implementation logic inside curly braces.

    +

    For example, the following signatures are exported from the StdLib's +strings module:

    +

    Fig 1:

    +
    +
    # strings.claro_module_api
    +
    +function fromChar(c: char) -> string;
    +function charAt(s: string, i: int) -> char;
    +
    +# ...
    +
    +
    +
    +

    Including a procedure signature in a Module's API file is a declaration that any dependent of this Module will have +access to a procedure with the given signature, so Claro will statically validate that any claro_module(...) target +exporting any procedure signatures actually implements that procedure within its given srcs.

    +
    +

    So, your build target will be required to declare which .claro source file(s) actually implement the exported +procedures as explained in the introduction to defining Modules.

    +

    Type & Alias Definitions

    +

    Modules can also be used to export definitions of Types or Aliases that are intended to be used throughout your overall +program.

    +

    Exporting Type Definitions

    +

    Exporting a Type definition can be as simple as just using the same Type definition syntax that you'd use within a +.claro source file.

    +

    For example, the std module exports the following Type:

    +

    Fig 1:

    +
    +
    # std.claro_module_api
    +
    +newtype Error<T> : T
    +
    +# ...
    +
    +
    +
    +The one thing to keep in mind when exporting a Type definition using this basic syntax is that you're explicitly giving +consumers access to the internal details of the type itself. This has the potential to make for a very unstable API as +any consumers can freely unwrap values of the type and manipulate its underlying representation at will. This is +obviously unsafe if the Type happens to be mutable as downstream consumers may not know how to maintain any inter-field +invariants if they're allowed to mutate it at will. +

    And beyond mutability, perhaps more subtly, you should also consider whether there will be lots of downstream users +directly accessing the Type's internal representation, and if so whether the representation is ever subject to any +future change. If so, in the future, it may unknowingly become very hard to ever make changes to the Type's internal +representation as, to do so, you would simultaneously be forced to update all of the downstream references to the Type's +internal representation.

    +

    Thankfully, Claro actually has mechanisms to hide the internal representation of a Type definition from downstream +consumers. Learn more in the sections on +Unwrappers and +Opaque Types.

    +
    +

    Exporting Atoms

    +

    Exporting an Atom is something of a hybrid between exporting a +static value and a Type definition, as an atom defines a new type +whose only value is the Atom itself. But again, you may export Atoms from Module APIs exactly as it would be defined +within a .claro source file.

    +

    For example, the strings module exports the following atom and +several functions that reference it.

    +

    Fig 2:

    +
    +
    # strings.claro_module_api
    +
    +atom NOT_FOUND
    +function indexOf(s: string, of: string) -> oneof<int, NOT_FOUND>;
    +function indexOfFromIndex(s: string, of: string, from: int) -> oneof<int, NOT_FOUND>;
    +function lastIndexOf(s: string, of: string) -> oneof<int, NOT_FOUND>;
    +function lastIndexOfFromIndex(s: string, of: string, from: int) -> oneof<int, NOT_FOUND>;
    +
    +# ...
    +
    +
    +

    Exporting Aliases

    +

    While Aliases largely exist to allow you to create your own convenient syntax sugar for complex types, it can sometimes +be useful for a Module to provide a standardized Alias for long or complex types that downstream usages could benefit +from having a shorthand for. Syntax for exporting an Alias in a Module API is exactly the same as the syntax for +declaring an Alias in a .claro source file.

    +

    Fig 3:

    +
    +
    # ex1.claro_module_api
    +
    +alias ComplexStruct : struct {
    +  fieldA: tuple<
    +    struct {
    +      innerA: int,
    +      innerB: [[char]]
    +    },
    +    int,
    +    float
    +  >,
    +  fieldB: provider<oneof<int, string>>
    +}
    +
    +# It'll be much easier for users to be able to refer to this type using the exported
    +# alias rather than the type itself.
    +provider getRandomComplexStruct() -> ComplexStruct;
    +
    +
    +

    Modules Exporting Only Types/Aliases Don't Require any .claro Source Files

    +

    In general, if your Module exclusively exports Type or Alias definitions, you actually do not need to provide any +.claro srcs to the defining claro_module(...) target, as the definitions themselves fully specify the Module in +their own right.

    +

    Fig 4:

    +
    +
    # ex4.claro_module_api
    +
    +alias UserLookupError : oneof<USER_NOT_FOUND, USER_DELETED, USER_SUSPENDED>
    +
    +atom USER_NOT_FOUND
    +atom USER_DELETED
    +atom USER_SUSPENDED
    +
    +
    +

    Fig 5:

    +
    +
    load("//:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "user_error_types",
    +    module_api_file = "ex4.claro_module_api",
    +    # You could optionally, explicitly declare an empty list.
    +    # srcs = [],
    +)
    +
    +
    +

    Initializers & Unwrappers

    +

    Claro's builtin types are already fully capable of expressing any data structure, and so the entire purpose of +User-Defined Types is to allow user code to overlay new semantic meaning onto types beyond just the raw data values +themselves. Claro supports two simple constructs that allow User-Defined Types to constrain, and reinterpret the raw +data types that they wrap. Note that both of these constructs should likely only be used in limited cases where you have +a very specific reason to be doing so.

    +

    Initializers

    +

    Initializers provide a mechanism for a User-Defined Type to constrain the domain of possible values that a type may +represent beyond what the raw data types imply on their own.

    +

    To demonstrate the problem being addressed, take for example the type declaration below:

    +

    Fig 1:

    +
    +
    # ex1-no-init.claro_module_api
    +newtype OddInt : int
    +
    +
    +

    There's nothing about the type definition alone that actually imposes any sort of constraint that actually guarantees +that the wrapped int is in fact odd. So a consumer could place a dep (Nums) on the Module and directly construct a +completely invalid instance of the OddInt type:

    +

    Fig 2:

    +
    +
    # BUILD
    +load("//:rules.bzl", "claro_binary", "claro_module")
    +
    +claro_module(
    +    name = "ex1_no_initializer",
    +    module_api_file = "ex1-no-init.claro_module_api", # `newtype OddInt : int`
    +)
    +
    +claro_binary(
    +    name = "bad_init_example",
    +    srcs = "ex1-bad-init.claro",
    +    deps = {
    +        "Nums": ":ex1_no_initializer",
    +    }
    +)
    +
    +
    +

    Fig 3:

    +
    +
    # ex1-bad-init.claro
    +var invalidOddInt = Nums::OddInt(8);
    +print(invalidOddInt);
    +
    +

    Output:

    +
    OddInt(8)
    +
    +
    +

    Of course, it'd be very much preferable for it to be impossible to ever construct an instance of a Type that violates +its semantic invariants. You can enforce this in Claro by defining Initializers over the Type. Initializers are +simply procedures that become the only procedures in the entire program that are allowed to directly use the Type's +constructor. Therefore, if a Type declares an initializers block, the procedures declared within become the only +way for anyone to receive an instance of the type.

    +

    Fig 4:

    +
    +
    # ex1-with-init.claro_module_api
    +newtype OddInt : int
    +
    +atom NOT_ODD
    +initializers OddInt {
    +  function getOddInt(x: int) -> oneof<OddInt, std::Error<NOT_ODD>>;
    +}
    +
    +
    +

    Fig 5:

    +
    +
    # BUILD
    +load("//:rules.bzl", "claro_binary", "claro_module")
    +
    +claro_module(
    +    name = "ex1_with_initializer",
    +    module_api_file = "ex1-with-init.claro_module_api",
    +)
    +
    +claro_binary(
    +    name = "rejected_init_example",
    +    srcs = "ex1-bad-init.claro", # Same as before. We'll expect an error.
    +    deps = {
    +        "Nums": ":ex1_with_initializer", # Now defines an Initializer.
    +    }
    +)
    +
    +
    +

    Now, the exact same attempt to construct an invalid instance of OddInt is statically rejected at compile-time - and +even better, Claro's able to specifically recommend the fix, calling the Nums::getOddInt(...) function:

    +

    Fig 6:

    +
    +
    # ex1-bad-init.claro
    +var invalidOddInt = Nums::OddInt(8);
    +print(invalidOddInt);
    +
    +

    Compilation Errors:

    +
    initializers_and_unwrappers_EX6_example.claro:2: Illegal Use of User-Defined Type Constructor Outside of Initializers Block: An initializers block has been defined for the custom type `[module at //mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers:ex1_with_initializer]::OddInt`, so, in order to maintain any semantic constraints that the initializers are intended to impose on the type, you aren't allowed to use the type's default constructor directly.
    +		Instead, to get an instance of this type, consider calling one of the defined initializers:
    +			- Nums::getOddInt
    +var invalidOddInt = Nums::OddInt(8);
    +                    ^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +
    +

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

    +
    +

    And now finally, you can use the initializer by simply calling it like any other procedure:

    +

    Fig 7:

    +
    +
    # ex1-good-init.claro
    +var invalidOddInt = Nums::getOddInt(8);
    +print(invalidOddInt);
    +
    +var oddInt = Nums::getOddInt(7);
    +print(oddInt);
    +
    +

    Output:

    +
    Error(NOT_ODD)
    +OddInt(7)
    +
    +
    +

    Now you know for a fact that anywhere where you initialize an instance of an OddInt in the entire program, it will +certainly satisfy its semantic invariants.

    +
    +

    Warning: Still, keep in mind that if your type is mutable, declaring Initializers is not, on its own, sufficient to +guarantee that any constraints or invariants are maintained over time. Keep reading to learn about how Unwrappers and +Opaque Types can give you full control over this.

    +
    +

    Unwrappers

    +

    Initializers are a very useful concept, but on their own they don't allow full control over maintaining a mutable type's +semantic invariants or constraints. For example, consider the following type definition:

    +

    Fig 1:

    +
    +
    # person.claro_module_api
    +newtype Person : mut struct {name: string, age: int}
    +
    +atom InvalidAge
    +initializers Person {
    +  function getPerson(name: string, age: int) -> oneof<Person, std::Error<InvalidAge>>;
    +}
    +
    +
    +

    If we wanted to impose the semantic constraint on legal values for a Person's age, defining the initializer alone is +only sufficient to ensure the constraint is enforced for the initial value. But it doesn't help maintain this after init +as users could still freely unwrap and mutate the type directly:

    +

    Fig 2:

    +
    +
    # Negative age can be rejected on init...
    +var invalidAge = Person::getPerson("Jason", -1);
    +print(invalidAge);
    +
    +var p = Person::getPerson("Jason", 29);
    +# Prove that we didn't get a std::Error<InvalidAge>.
    +if (p instanceof Person::Person) {
    +  print(p);
    +
    +  # But we can violate the semantics of the type by unwrapping and mutating directly.
    +  unwrap(p).age = -1;
    +  print(p);
    +}
    +
    +

    Output:

    +
    Error(InvalidAge)
    +Person(mut {name = Jason, age = 29})
    +Person(mut {name = Jason, age = -1})
    +
    +
    +

    Fortunately, Claro provides a couple different ways to actually control semantic constraints/invariants like this. The +first approach is to define Unwrappers. Analogous to Initializers that constrain the usage of a Type's default +constructor, Unwrappers constrain the usage of the built-in unwrap(...) operation. For example, the above violation of +the intended constraints on a Person's age can be enforced by adding an Unwrapper procedure that will handle all +allowed updates:

    +

    Fig 3:

    +
    +
    # person.claro_module_api
    +newtype Person : mut struct {name: string, age: int}
    +
    +atom InvalidAge
    +initializers Person {
    +  function getPerson(name: string, age: int) -> oneof<Person, std::Error<InvalidAge>>;
    +}
    +unwrappers Person {
    +  function setAge(p: Person, newAge: int) -> oneof<std::OK, std::Error<InvalidAge>>;
    +}
    +
    +
    +

    And now, the workaround that previously allowed violating the type's constraints has been patched. Attempts to directly +mutate the value w/o going through approved procedures that handle updates will be rejected at compile-time:

    +

    Fig 4:

    +
    +
    # Negative age can be rejected on init...
    +var invalidAge = Person::getPerson("Jason", -1);
    +print(invalidAge);
    +
    +var p = Person::getPerson("Jason", 29);
    +# Prove that we didn't get a std::Error<InvalidAge>.
    +if (p instanceof Person::Person) {
    +  print(p);
    +
    +  # But we can violate the semantics of the type by unwrapping and mutating directly.
    +  unwrap(p).age = -1;
    +  print(p);
    +}
    +
    +

    Compilation Errors:

    +
    unwrappers_EX4_example.claro:11: Illegal Use of User-Defined Type Unwrapper Outside of Unwrappers Block: An unwrappers block has been defined for the custom type `[module at //mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers:person_with_unwrappers]::Person`, so, in order to maintain any semantic constraints that the unwrappers are intended to impose on the type, you aren't allowed to use the type's default `unwrap()` function directly.
    +		Instead, to unwrap an instance of this type, consider calling one of the defined unwrappers:
    +			- Person::setAge
    +  unwrap(p).age = -1;
    +  ^^^^^^^^^
    +1 Error
    +
    +
    +

    Now, if you actually tried to update the age to something invalid using the official setAge(...) function, the update +will be rejected:

    +

    Fig 5:

    +
    +
    var p = Person::getPerson("Jason", 29);
    +if (p instanceof Person::Person) {
    +  print(p);
    +
    +  # Now the update must be done via the provided `setAge(...)` function
    +  # which first validates the update, and in this case rejects.
    +  var updateRes = Person::setAge(p, -1);
    +  print(updateRes);
    +  print(p);
    +}
    +
    +

    Output:

    +
    Person(mut {name = Jason, age = 29})
    +Error(InvalidAge)
    +Person(mut {name = Jason, age = 29})
    +
    +
    + +
    +

    It's worth noting that initializers and unwrappers blocks exist largely to be used independently. The above +example is fairly contrived, and would likely be better defined as an +"Opaque Type". A good rule of thumb is that if you catch yourself +thinking that you need to define both for the same Type, you should likely be defining the Type to be "Opaque" instead.

    +

    In particular, initializers can be well-used in isolation for immutable Types where you would like to validate the +values on init, but would like to maintain the ergonomics of allowing users to directly access the internals themselves +(and as the data is immutable, there's no risk in allowing them to do so). +For example, with the immutable type newtype GameLocation : struct {x: int, y: int} you may want to require that x +and y are actually within the game's boundaries, but otherwise you want to allow users of the type to directly +access x and y without having to write/use annoying "getters".

    +

    On the other hand, unwrappers can be well-used in isolation for mutable values that can start with any value, but +for which all subsequent changes must be constrained. For example, with +newtype MonotonicallyIncreasingValue: mut struct {val: long} you may be happy to allow arbitrary starting values, +but after that point you would want to ensure that any updates to its value are in fact increasing its value, perhaps by +simply exposing an Unwrapper like consumer increment(count: MonotonicallyIncreasingValue);.

    +
    +

    Opaque Types

    +

    Programs of any significant size, particularly those developed among potentially large groups of developers, require a +significant level of coordination to ensure the program evolves in a controlled manner throughout entire development +lifecycle. Claro aspires to provide users with tools to that end. One particular technique that can aid this is hiding +the internal representation of a data structure. There are various reasons why this may be desirable:

    +
    + + + + +
    ConcernExample Undesirable Outcome
    Internal representation is subject to significant future changeMany downstream usages of the Type's internal representation arise, making future changes to the Type's internal representation unbearably onerous
    Internal representation must restrict the legal domain of valuesUsers directly manipulating the value can invalidate these necessary constraints and produce invalid data
    Internal representation is encoded in some way not explicitly described by the types themselvesComplex data structures, such as a Heap, may be represented internally as a simple mut [int] but a downstream user mutating this structure is inherently bug-prone
    Internal representation contains Type's that give access to sensitive behaviorsA database connection, for example, may have various open channels to the DB itself, but this doesn't mean it's safe to use this to manually send it arbitrary network reqs
    +
    +

    To address all of these, developers typically hide the internal representation of such sensitive Types so that +any direct interaction with them must necessarily go through "the front door" of a certain published, verified API. +Claro honors this as a first class capability, by allowing Types exported by a Module definition to be marked "Opaque":

    +

    Fig 1:

    +
    +
    # ex1.claro_module_api
    +opaque newtype Person
    +
    +
    +

    Now, consumers of a Module with the above Type definition will not be exposed whatsoever to any internal details of its +internal representation, which may initially look like:

    +

    Fig 2:

    +
    +
    # ex1-impl.claro
    +newtype Person : struct {
    +  name: string,
    +  userID: int
    +}
    +
    +
    +

    but then, in the future, it could be updated to something like:

    +

    Fig 3:

    +
    +
    # ex1-impl.claro
    +newtype Person : struct {
    +  name: string,
    +  userID: ID::UUID  # UPDATED
    +}
    +
    +
    +

    and you'd have a guarantee that you wouldn't have to make any changes outside the defining Module itself because it +was never possible for any downstream consumer to actually depend on the internal representation directly.

    +

    Static Values

    +

    In addition to Type definitions and Procedure signatures, Modules are also able to export static (read: unchanging) +values. This seemingly simple feature actually addresses the core value add of heavyweight "Dependency Injection" +frameworks like Guice, Dagger, or Spring1 while providing the static compile-time validation that you'd expect of a +first-class programming language feature.

    +

    The below Module API exports a struct containing a simple server config that's fixed (static) throughout the server's +lifecycle:

    +

    Fig 1:

    +
    +
    # ex1.claro_module_api
    +
    +# Throughout the server's lifetime this configuration won't change.
    +static SERVER_CONFIG : ServerConfig;
    +
    +alias ServerConfig : struct {
    +  server_name: string,
    +  port: int,
    +  logging: struct {
    +    filename: string
    +  },
    +  database: struct {
    +    host: string,
    +    port: int,
    +    database_name: string
    +  }
    +}
    +
    +
    +

    The value itself will be provided by implementing a provider static_<static value name>() -> <static value type>, for +example, the following provider implementation reads and parses2 the config values from a JSON resource3 file:

    +

    Fig 2:

    +
    +
    {
    +  "server_name": "My Server",
    +  "port": 8080,
    +  "logging": {
    +    "filename": "server.log"
    +  },
    +  "database": {
    +    "host": "localhost",
    +    "port": 5432,
    +    "database_name": "my_database"
    +  }
    +}
    +
    +
    +

    Fig 3:

    +
    +
    # ex1-impl.claro
    +provider static_SERVER_CONFIG() -> ServerConfig {
    +  resources::ConfigJSON
    +    |> files::readOrPanic(^)
    +    |> var parsedConfig: std::ParsedJson<ServerConfig> = fromJson(^);
    +
    +  var parsedResult = unwrap(parsedConfig).result;
    +  if (parsedResult instanceof ServerConfig) {
    +    # Config has correct format and was parsed successfully.
    +    return parsedResult;
    +  }
    +  # ... Invalid Config File Format Handling ...
    +  # TODO(steving) In the future Claro should support an explicit `Panic("Reason")`.
    +  # TODO(steving) This server shouldn't even be allowed to actually startup.
    +  return {
    +    server_name = "Fake Server",
    +    port = -1,
    +    logging = {
    +      filename = "server.log"
    +    },
    +    database = {
    +      host = "localhost",
    +      port = -1,
    +      database_name = "Fake Database"
    +    }
    +  };
    +}
    +
    +
    +
    This syntax is very likely to change. Expressing this via a naming convention is +extremely undesirable, so any suggestions for a more appropriate syntax are very welcome.
    +

    And now, a downstream dependent of the Module exporting the SERVER_CONFIG static value can just directly use the value +as it was initialized at program startup by the given provider.

    +

    Fig 4:

    +
    +
    var config = Config::SERVER_CONFIG;
    +print("Server Name: {config.server_name}");
    +print("Port:        {config.port}");
    +
    +

    Output:

    +
    Server Name: My Server
    +Port:        8080
    +
    +
    +

    Static Values Must be Deeply Immutable

    +

    The primary restriction placed on Static Values is that they must be deeply immutable to prevent static values from +being used in such a way could lead to data races. Because Static Values can be directly referenced anywhere in your +program, this means they can be referenced directly or transitively by +Graph Procedures or by Lambdas directly scheduled to +execute off the main thread using the StdLib's futures module. This +must be prevented in order to keep with Claro's philosophy of making it impossible for two threads to share mutable +state.

    +

    Initialization Order

    +

    In general, Static Values are initialized on program startup4 before a single line of the "main file" (determined by +claro_binary(name = ..., main_file = ..., deps = ...)) ever actually ran. To demonstrate this, let's add a +print(...) statement to both the Static Value's provider, and to the main file that references it:

    +

    Fig 5:

    +
    +
    # ex1-impl.claro
    +provider static_SERVER_CONFIG() -> ServerConfig {
    +  log("STATIC VALUE INITIALIZATION");
    +  # ...
    +  resources::ConfigJSON
    +    |> files::readOrPanic(^)
    +    |> var parsedConfig: std::ParsedJson<ServerConfig> = fromJson(^);
    +
    +  var parsedResult = unwrap(parsedConfig).result;
    +  if (parsedResult instanceof ServerConfig) {
    +    # Config has correct format and was parsed successfully.
    +    return parsedResult;
    +  }
    +  # ... Invalid Config File Format Handling ...
    +  # TODO(steving) In the future Claro should support an explicit `Panic("Reason")`.
    +  # TODO(steving) This server shouldn't even be allowed to actually startup.
    +  return {
    +    server_name = "Fake Server",
    +    port = -1,
    +    logging = {
    +      filename = "server.log"
    +    },
    +    database = {
    +      host = "localhost",
    +      port = -1,
    +      database_name = "Fake Database"
    +    }
    +  };
    +}
    +consumer log(msg: string) {
    +  print("LOG: {msg}");
    +}
    +
    +
    +

    Fig 6:

    +
    +
    Config::log("START MAIN FILE");
    +
    +var config = Config::SERVER_CONFIG;
    +print("Server Name: {config.server_name}");
    +print("Port:        {config.port}");
    +
    +

    Output:

    +
    LOG: STATIC VALUE INITIALIZATION
    +LOG: START MAIN FILE
    +Server Name: My Server
    +Port:        8080
    +
    +
    +

    "Lazy" Static Values

    +

    It's possible, however, that it might not be desirable for this sort of static initialization to happen eagerly like +this (for example if the value isn't guaranteed to even be used). So, Claro allows static values to optionally be +declared lazy:

    +

    Fig 7:

    +
    +
    # ex1.claro_module_api
    +
    +# Throughout the server's lifetime this configuration won't change.
    +lazy static SERVER_CONFIG : ServerConfig;
    +
    +alias ServerConfig : struct {
    +  server_name: string,
    +  port: int,
    +  logging: struct {
    +    filename: string
    +  },
    +  database: struct {
    +    host: string,
    +    port: int,
    +    database_name: string
    +  }
    +}
    +
    +
    +

    which will effectively wrap every reference to the value in logic that will first check if the value still needs to be +initialized and the initialization logic will be performed exactly once the very first time a read of the Lazy Static +Value is actually executed at runtime:

    +

    Fig 8:

    +
    +
    Config::log("START MAIN FILE");
    +
    +var config = Config::SERVER_CONFIG;
    +print("Server Name: {config.server_name}");
    +print("Port:        {config.port}");
    +
    +

    Output:

    +
    LOG: START MAIN FILE
    +LOG: STATIC VALUE INITIALIZATION
    +Server Name: My Server
    +Port:        8080
    +
    +
    +

    In the case of this example, lazy initialization could mean that the file read of the JSON config resource never +actually needs to occur if it would never actually be read. This is a fairly insignificant performance optimization, but +one that will be welcome to any developers that have become accustomed to this sort of capability being provided by more +heavyweight dependency injection frameworks.

    +

    Static Value Providers May Depend on Other Static Values

    +

    Finally, it's worth explicitly noting that Static Value providers may depend on other Static Values, with the only +restriction being that circular dependencies between Static Value providers are forbidden. In fact, Claro will reject +them at compile time to ensure that you don't accidentally create an infinite loop during initialization.

    +
    +
    1 +

    Claro doesn't support these DI frameworks' concept of "scopes" explicitly, but Claro's Static Values could be +conceptually considered to be in the "Singleton" scope in any +of the mentioned DI frameworks.

    +
    +
    2 +

    Learn more about Claro's support for automatic JSON Parsing.

    +
    +
    3 +

    Learn more about Claro's support for Resource Files in the StdLib's files module.

    +
    +
    4 +

    To be very explicit, technically Static Values are instantiated the first time that the JVM's ClassLoader loads +the generated Class representing the Module exporting the Static Value. Hence the calls to Config::log(...) to +make the example more compelling.

    +
    +

    Flags

    +

    An incredibly common pattern in many software projects is parsing command line flags on startup to configure the +behavior of a program. For example in backend web services the same service frequently gets reconfigured via flags to +run in various different environments (e.g. test/dev/prod). However, in spite of the pattern's universality, most +languages seem to ignore the fact and leave Flag parsing as an exercise for the user. This realistically leaves users +either running off to download some 3rd-party library or writing some often poorly maintained boilerplate parsing code +themselves. Claro aims to provide a lightweight Flag parsing mechanism as a first-class language feature so that you can +skip most of the manual toil for such a simple need.

    +

    Claro's Flags are a special case of Static Values that can be +defined and exported by a Module API1:

    +

    Fig 1:

    +
    +
    # ex1.claro_module_api
    +
    +# Set this flag on the command line.
    +flag env: string;
    +
    +
    +

    Then, just like any other Static Value, it can be referenced directly by anyone with a dependency on the defining Module +as in the example below:

    +

    Fig 2:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module", "claro_binary")
    +
    +# This module is the one defining the `env` Flag.
    +claro_module(
    +    name = "config",
    +    module_api_file = "ex1.claro_module_api",
    +    # Notice no srcs are specified as Flags do not require a provider like other Static Values do.
    +)
    +
    +claro_binary(
    +    name = "demo",
    +    main_file = "ex1-test.claro",
    +    deps = {"Config": ":config"},
    +)
    +
    +
    +

    Fig 3:

    +
    +
    # ex1-test.claro
    +Config::env |> print("env: \"{^}\"");
    +
    +

    Output:

    +
    env: ""
    +
    +
    +

    Flags are different than general Static Values simply in the way their values are instantiated. Rather than implementing +a provider that will be automatically run to instantiate the value, Flags are actually automatically parsed from the +command line args passed to the program at runtime. In the example above, the Flag wasn't explicitly set when the +program was run, so the value was defaulted to the empty string.

    +

    Setting a Flag Value on the Command Line

    +

    As there are multiple ways to run Claro programs during development, you'll need to know how to actually set Flag values +using each approach.

    +

    Passing Flags to Programs Executed via bazel run ...

    +

    Of course, as you've seen in the +Getting Started Guide +the easiest way to run a Claro program during development is using the bazel run ... command. But because Bazel +itself accepts command line Flags, you'll need to explicitly indicate which command line args should be consumed by +Bazel and which should be passed along to the Claro program. You'll do this by simply using a standalone --. Bazel +consumes every arg to the left, and anything following gets passed along to the program you're trying to run.

    +

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

    + +

    Passing Flags to Deploy Jar

    +

    Instead, you can build your program as an executable "Deploy Jar" and execute the Jar using the java command, passing +command line Flags as you would to any other command:

    +

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

    + +

    Deriving Static Values From Flags

    +

    Now, the power of Flags is often exposed when used to determine the initialization of Static Values. For example, +expanding upon the simple env example above, we could export another Static Value, and determine its value based on +whatever value was assigned to the env Flag on the command line.

    +

    Fig 4:

    +
    +
    # Set this flag on the command line.
    +flag env: string;
    +
    +static SUBJECT: string;
    +
    +
    +

    Fig 5:

    +
    +
    provider static_SUBJECT() -> string {
    +  # `env` here is referring to the flag defined in this module's API.
    +  match (env) {
    +    case "dev" -> return "DEVS";
    +    case "prod" -> return "Users";
    +    # If the flag wasn't set, it will default to the empty string.
    +    case "" -> return "is anyone out there?";
    +    case _ -> return env;
    +  }
    +}
    +
    +
    +

    And now, a test program could reference the Static Value, and the program's output will be dependent on the Flag value +passed on the command line at runtime:

    +

    Fig 6:

    +
    +
    # ex1-test2.claro
    +Config::SUBJECT |> print("Hello, {^}!");
    +
    +
    +

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

    + +

    Supported Flag Types

    +

    Claro has to manually emit logic to parse command line args, and as such there's currently only support for parsing the +following basic types that are most likely to be found in command line args:

    +
      +
    • boolean
    • +
    • string
    • +
    • int
    • +
    • [string]
    • +
    +

    Claro will statically reject any Flags of unsupported types. For example, Claro won't automatically parse arbitrary +structs from the command line. (Although it's likely that in the future Claro will standardize its string encoding of +all types and provide some extended support for automatically decoding them from strings).

    +
    +
    1 +

    Command line Flag parsing in most other languages can only be done by explicitly handling the command line args +list in the program's "main method" (or equivalent). But in Claro, Flags can be arbitrarily defined by any Module in +the entire program. The only thing to keep in mind is that the very nature of Flags being given on the command line +means that their names must be globally unique. So, if you plan to include Flags in a Module that you're publishing +for a wide audience, make sure that you use somehow try to ensure that your Flag names can at least be reasonably +expected to be globally unique. One suggestion would be to prefix all Flag names with the published name of your Bazel +module that's been pushed to the +Bazel Central Registry.

    +
    +

    HTTP Services

    +

    As Claro provides simple HTTP support out of the box, you can export HTTP Service definitions from Module APIs. For +example, the following Buggy Buggies game1 can be controlled by sending HTTP GET requests to the endpoints defined +below:

    + +

    So, we can encode this api as an HTTP Service that can be called programmatically by Claro programs by exporting the +following from a Module API:

    +

    Fig 1:

    +
    +
    # ex1.claro_module_api
    +
    +# This encodes the public API of the Buggy-Buggies HTTP service.
    +# Claro will generate a non-blocking RPC client for you via the following:
    +#   `var myClient: HttpClient<BuggyBuggies> = http::getHttpClient("https://buggy-buggies.gigalixirapp.com");`
    +HttpService BuggyBuggies {
    +  hostGame: "/api/host/{handle}",
    +  friendsJoin: "/api/game/{gameId}/join/{handle}",
    +  move: "/api/game/{gameId}/player/{secret}/move/{direction}",
    +  worldInfo: "/api/game/{gameId}/player/{secret}/info",
    +  reset: "/api/game/{gameId}/player/{secret}/reset"
    +}
    +
    +# Now there's a single static definition of which client will be used for sending reqs to the Buggy Buggies server.
    +static BUGGY_BUGGIES_CLIENT: HttpClient<BuggyBuggies>;
    +
    +
    +

    In this case the static HTTP client being exported by this Module will allow messages to be sent to the local port that +the Buggy Buggies game is running on:

    +

    Fig 2:

    +
    +
    # ex1-impl.claro
    +
    +provider static_BUGGY_BUGGIES_CLIENT() -> HttpClient<BuggyBuggies> {
    +  # This client will send reqs to localhost but could use a public endpoint.
    +  return http::getHttpClient("http://localhost:4000");
    +}
    +
    +
    +

    Now, a dependent can easily make calls to the various HTTP endpoints exposed by the service and from the dependent's +perspective it appears just like any other procedure call returning a future<...>.

    +

    Fig 3:

    +
    +
    var hostGameRes: oneof<string, std::Error<string>>
    +  <-| BuggyBuggies::hostGame(BuggyBuggies::BUGGY_BUGGIES_CLIENT, "jason");
    +
    +print("Host Game Response:\n{hostGameRes}");
    +
    +

    Output:

    +
    Host Game JSON Response:
    +{"reason":null,"success":true,"result":{"watch":"http://localhost:4000/game/04cfad01","secret":"7f3b8ae5","game_id":"04cfad01","example":"curl -X GET http://localhost:4000/api/game/04cfad01/player/7f3b8ae5/move/N"}}
    +
    +
    +

    Now, you can imagine how a more complex Claro program could use the HTTP client to this service to make a bot that +automatically plays the game collecting as much gold as possible.

    +

    Buggy Buggies Demo

    +

    Check out the +full-fledged implementation +of the Claro program controlling the buggy in the above gif.

    +
    +
    1 +

    Buggy Buggies was built by Jake Wood, thank you for sharing this!

    +
    +

    Visibility

    +

    Claro's deep integration with Bazel allows it to isolate all dependency-related concerns to the Build system rather than +cluttering the core language itself with such concerns. Claro's leveraging of Bazel's builtin visibility enforcement +features is a powerful example of this. Whereas most programming languages tend to only expose very coarse-grained +visibility controls (e.g. public/private), Bazel provides Claro programs with access to a wide range of extremely +fine-grained visibility controls.

    +

    You can read more in detail about +Visibility in Bazel's docs, or you can get the +important overview below.

    +
    +

    If you're using GitHub to host your codebase, Bazel's Visibility enforcement becomes even more powerful when used in +combination with +CODEOWNERS +which gives you a mechanism to ensure that Visibility declarations are actually enforceable and can't simply be changed +by someone without first taking into account why the visibility was constrained to a certain level in the first place.

    +
    +

    Private Visibility

    +

    All targets are "private" by default. So, if you don't want to allow any other targets defined outside the current BUILD +file to take a dependency on a given target, you can simply omit a visibility = ... declaration:

    +

    Fig 1:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Visibility defaults to "private".
    +    # Alternatively you could explicitly declare the target "private" using:
    +    #   visibility = ["//visibility:private"],
    +)
    +
    +
    +
    +

    Note: All targets defined in the same BUILD file are implicitly Visible to each other - meaning that they can +place a dependency on one another freely no matter what visiblity = ... declaration is listed in each target's +declaration.

    +
    +

    Target Visibility

    +

    In many cases, you'll be designing Modules to only be consumed by a very specific set of dependents. In this case, you +can explicitly name the specific targets that should be allowed to place a dependency on your target:

    +

    Fig 2:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Now, visibility is granted to the specifically mentioned target.
    +    visibility = ["//some/other/specific:target"],
    +)
    +
    +
    +

    This is by far the recommended approach. All other more permissive Visibility declarations detailed below should be +approached with caution.

    +

    Package Visibility

    +

    Depending on how your codebase gets organized, you'll likely run into the situation where a certain Module can be +generally useful for many Modules in a package. Rather than needing to list each target individually, you can whitelist +the entire package to have Visibility on a certain module.

    +

    Fig 3:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Now, visibility is granted to every target in the `//some/other` directory (package).
    +    visibility = ["//some/other:__pkg__"],
    +)
    +
    +
    +

    Subpackages Visibility

    +

    Somewhat more rarely, you may also end up with a codebase where a particular Module is useful for many Modules in both a +package and all subpackages beneath it. Rather than needing to explicitly list each package, you can make the target +Visible to all other targets at or "below" a certain package.

    +
    +This should be used sparingly when you have confidence that the design constraints of your codebase will be maintained +over time. Remember that the proliferation of many dependencies on a particular Module put that Module at risk at +becoming extremely difficult to change in the future. +
    +

    Fig 4:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Now, visibility is granted to every target at or below the `//some/other` directory (package).
    +    visibility = ["//some/other:__subpackages__"],
    +)
    +
    +
    +

    Public Visibility (Discouraged)

    +
    +

    While it's possible to make a certain target visible to every other target in the entire project, this is +discouraged. You will find that public Visibility can lead to a proliferation of dependencies that can sometimes make +the long-term maintenance of the overall project that much more difficult. The more dependencies that a particular +Module has, the more difficult it gets to make any changes to that Module's public API. Feel free to use this feature, +but please do it consciously, don't just get in a habit of doing this by default for convenience.

    +
    +

    Fig 5:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_module")
    +
    +claro_module(
    +    name = "example",
    +    # ...
    +    module_api_file = "example.claro_module_api",
    +    srcs = ["example.claro"],
    +    # Now, visibility is granted to every target globally.
    +    visibility = ["//visibility:public"],
    +)
    +
    +
    +

    Swapping Dependencies

    +

    Claro's Module system was very carefully designed to guarantee that it's statically impossible for two separate +modules to be +"tightly coupled". +In this section we'll dive into exactly what that means.

    +

    As you've already seen in previous sections, Claro Modules explicitly declare a public API that indicates the full set +of procedures/values/Types that the Module's consumers will gain access to. Of course, some form of this is present in +every language. The unique distinction is that Claro Module dependencies can be directly swapped out to any other Module +with an appropriate API without changing a single line of code in any .claro source files.

    +

    For example, the below API...

    +

    Fig 1:

    +
    +
    # get_message.claro_module_api
    +provider getMessage() -> string;
    +
    +
    +

    ...could be implemented by multiple Modules...

    +

    Fig 2:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_binary", "claro_module")
    +
    +claro_module(
    +    name = "hello_world",
    +    module_api_file = "get_message.claro_module_api",
    +    srcs = ["hello_world.claro"],
    +)
    +claro_module(
    +    name = "look_ma",
    +    module_api_file = "get_message.claro_module_api",
    +    srcs = ["look_ma.claro"],
    +)
    +# ...
    +
    +
    +

    ...and then the exact same .claro source code...

    +

    Fig 3:

    +
    +
    # example.claro
    +print(Msg::getMessage());
    +
    +
    +

    ...could be compiled against either Module...

    +

    Fig 4:

    +
    +
    # BUILD
    +claro_binary(
    +    name = "test",
    +    main_file = "example.claro",
    +    deps = {
    +        "Msg": ":hello_world",
    +    }
    +)
    +
    +
    +

    Fig 5:

    +
    +
    Hello, World!
    +
    +
    +

    ...and the behavior would depend on which dependency was chosen...

    +

    Fig 6:

    +
    +
    # BUILD
    +claro_binary(
    +    name = "test",
    +    main_file = "example.claro",
    +    deps = {
    +        "Msg": ":look_ma",  # Swapped for `:hello_world`.
    +    }
    +)
    +
    +
    +

    Fig 7:

    +
    +
    ----------------------
    +| Look ma, no hands! |
    +----------------------
    +
    +
    +

    Dep Validity is Based on Usage

    +

    The other subtle point that's likely easy to miss if it's not pointed out explicitly is that the validity of a Module +dependency is completely dependent upon the usage of the dependency. In less opaque terms, this just means that a +Module dependency is valid if the Module's API actually exports everything that is used by the consuming code. The +consuming code doesn't make any constraints on anything other than what it actually uses. So, a dependency can be +swapped for another that actually exports a completely different API, so long as it at least exports everything +that the consuming code actually used from the original Module's API.

    +

    For example, if a third Module actually implemented a totally different API such as:

    +

    Fig 8:

    +
    +
    # extra_exports.claro_module_api
    +provider getMessage() -> string;
    +
    +provider getMessageFromDB() -> future<string>;
    +
    +opaque newtype SecretMessage
    +
    +static SOME_OTHER_MESSAGE : SecretMessage;
    +
    +
    +

    the dependency would still be valid because example.claro only actually uses the getMessage(...) procedure that +is exported by both :look_ma and :hello_world.

    +

    This single design decision actually enables a huge amount of Build time configurability options. If you'd like to see +more about how you can take advantage of this, read about how you can swap dependencies programmatically using +Build flags. And if you're interested in becoming +a power-user, this feature can be leveraged in some very powerful ways via +Build Time Metaprogramming.

    +

    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 
    +
    +

    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 provides an +easy-to-use abstraction to statically guarantee that programs are:

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

    The following sections will introduce you to the language features that enable Claro's safe concurrency guarantees.

    +

    Guaranteed Data-Race-Free Concurrency

    +

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

    +

    A data race occurs when two or more threads in a single process access the same memory location concurrently, and at +least one of the accesses is for writing, and the threads are not using any exclusive locks to control their accesses +to that memory.

    +

    While there are situations where a race condition may be desirable, they are accidental bugs far more often than +not. So, Claro has been carefully designed to statically prevent you from writing any program with such a data race. +There are a few primary mechanisms in the language that, together, ensure that data races are impossible to encode. At +their core, these restrictions boil down to preventing any two threads from sharing references to the same mutable data.

    +
    +

    Thread-Local Data Can be Mutated at Will

    +

    Claro requires the use of immutable data when passing data between threads. By enforcing this constraint globally, Claro +programs in turn receive a static guarantee that all non-Graph procedure interactions with mutable data are happening +over mutable data that is local to the current thread only and therefore doesn't require any synchronization +whatsoever.

    +

    So, while you'll read about restrictions on Graph Procedures below, keep in mind that the internal implementations of +any given node (e.g. the implementation of a procedure called by a node) may create whatever mutable data it wants, and +mutate it freely, including by passing the data around to other procedures that do the mutation.

    +
    +

    All Graph Procedure Args Must be Deeply-Immutable

    +

    Claro's Graph Procedures are an inherently concurrent control flow structure, with nodes executing concurrently by +definition. Importantly, Graphs are executed on multiple threads using a threadpool, and Claro takes responsibility for +this execution being thread safe. As nodes may be executing simultaneously, it would be fundamentally unsafe for any two +nodes to share a reference to the same mutable data as nothing would prevent one of the threads from mutating the data +while another thread is reading from it.

    +

    Claro's approach to addressing this is to track mutability in the type system, and to make use of that information to +ensure that no two threads ever share mutable state by statically requiring that all Graph procedure arguments and node +outputs are deeply immutable.

    +

    Fig 1:

    +
    +
    graph function someGraph(mutArg: mut [int]) -> future<SomeRes> {
    +    root res   <- computeRes(@nodeB, @nodeC);
    +    node nodeB <- doNodeBThing(mutArg);
    +    node nodeC <- doNodeCThing(mutArg);
    +}
    +
    +

    Compilation Errors:

    +
    guaranteed_data_race_free_EX1_example.claro:1: Illegal Mutable Graph Procedure Arg: As Graph Procedures are multi-threaded by nature, all args must be deeply-immutable in order to guarantee that Graph Procedures are data-race free by construction.
    +	Found the mutable type:
    +		mut [int]
    +	To correct this, consider converting the arg's type to its deeply-immutable variant:
    +		[int]
    +graph function someGraph(mutArg: mut [int]) -> future<SomeRes> {
    +                         ^^^^^^
    +guaranteed_data_race_free_EX1_example.claro:3: Invalid type:
    +	Found:
    +		mut [int]
    +	Expected:
    +		int
    +    node nodeB <- doNodeBThing(mutArg);
    +                               ^^^^^^
    +guaranteed_data_race_free_EX1_example.claro:4: Invalid type:
    +	Found:
    +		mut [int]
    +	Expected:
    +		int
    +    node nodeC <- doNodeCThing(mutArg);
    +                               ^^^^^^
    +3 Errors
    +
    +
    +
    +    graph TD
    +    nodeB --> res
    +    nodeC --> res
    +
    +

    Here, Claro has correctly identified that nodeB and nodeC would be susceptible to creating a data race, and so a +compilation error is raised. Additionally, even if there were only a single graph node actually using mutArg, it would +still be fundamentally unsafe. Remember that every single node in a graph runs on the Graph Executor, which is backed by +a threadpool meaning that passing any arguments to a graph procedure is inherently an act that hands data to another +thread. Claro's philosophy of thread safety is to statically prevent sharing mutable state across threads, so this will +not be allowed.

    +

    All Graph Procedure Node Outputs Must be Deeply-Immutable

    +

    You'll also be prevented from introducing a data race by having a graph node pass mutable data to other downstream +nodes:

    +

    Fig 2:

    +
    +
    graph provider someGraph() -> future<SomeRes> {
    +    root res   <- computeRes(@nodeB, @nodeC);
    +    node nodeB <- doNodeBThing(@nodeA);
    +    node nodeC <- doNodeCThing(@nodeA);
    +    node nodeA <- getMutableThing();
    +}
    +
    +

    Compilation Errors:

    +
    guaranteed_data_race_free_EX2_example.claro:5: Illegal Mutable Graph Node Result: As Graph Procedures are multi-threaded by nature, all node expression types must be deeply-immutable in order to guarantee that Graph Procedures are data-race free by construction.
    +	Found the result of node `nodeA` to have the mutable type:
    +		mut [int]
    +	To correct this, consider converting to its deeply-immutable variant:
    +		[int]
    +    node nodeA <- getMutableThing();
    +                  ^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +
    +    graph TD
    +    nodeA --> nodeB
    +    nodeA --> nodeC
    +    nodeB --> res
    +    nodeC --> res
    +
    +

    Again, Claro has correctly identified that nodeB and nodeC would be susceptible to creating a data race, and so a +compilation error is raised.

    +

    Lambdas Cannot Capture Mutable Data

    +

    The final restriction that enables "Fearless Concurrency" in Claro programs is the constraint restricting Lambdas from +"closing over"/capturing any mutable value. If Lambdas could capture mutable state data, then passing a Lambda into a +Graph could (very indirectly) circumvent Claro's above restriction on sharing references to mutable data across multiple +threads.

    +

    Read more in-depth about this restriction in the +"Lambdas are Restricted Closures" +section.

    +

    Thread Safe Mutable Data Structures "Blessed" By the StdLib

    +

    Claro aims to be a very pragmatic language, and so chooses not to complicate its type system with something like Rust's +(notoriously complex) borrow checker to prevent shared ownership of unsynchronized, mutable data. Instead, Claro opts to +take an approach of statically forbidding the arbitrary sharing of mutable state between threads, but then returning the +ability to do mutation via a curated set of "blessed" mutable data structures that have been manually validated to be +Thread Safe in all contexts.

    +

    For example, take the case of a multithreaded web server where it's very common to employ a request cache to improve +throughput by reusing responses from downstream services for some period of time. This request cache is an inherently +mutable structure (it needs to be updated when a new request needs to be cached, or when reloading an existing cache +entry upon expiration). A mutable request cache is obviously of utmost importance for Claro's practical usefulness as a +language for writing real world web services, so the stdlib exposes Ben Manes' famously high-performance, thread safe +Caffeine caching library as the StdLib's +cache module.

    +
    +

    Important: This is Restricted to the StdLib

    +

    Claro accomplishes this using "Opaque" Types and a compiler intrinsic (trick) to effectively lie about the type's +mutability to avoid the restrictions on types marked mut. In particular, this type is exported from the +cache.claro_module_api file +as follows:

    +

    Fig 3:

    +
    +
    # Note the lack of a `mut` annotation.
    +opaque newtype Cache<K, V>
    +
    +
    +

    And is internally defined as wrapping the Java AsyncLoadingCache type from the Caffeine caching library:

    +

    Fig 4:

    +
    +
    # This `$java_type` feature is only accessible to the StdLib.
    +newtype Cache<K, V>: $java_type<K, V>("com.github.benmanes.caffeine.cache.AsyncLoadingCache<%s, %s>")
    +
    +
    +

    Thanks to being defined as an Opaque Type, it's safe for this type to be passed anywhere, even shared between threads, +as users' only mechanism to interact with values of this type is via the "front door" of the procedures exported from +cache.claro_module_api +which define a Thread Safe API.

    +

    It's not possible for user code to actually make this same "lie" about a type's mutability. This feature is explicitly +restricted to the internal StdLib modules to ensure that Claro's "Fearless Concurrency" guarantees aren't broken by +users either publishing buggy or intentionally malicious modules. At the moment (and into the foreseeable future), +Claro places a much higher value on being able to make safety guarantees across the entire language ecosystem than +on any individual's ability to define their own custom mutable data structures that can be shared across threads.

    +

    There are currently no plans to ever allow any mutable, user-defined type defined outside the StdLib to be shared +across threads. Instead, Claro intends to actively welcome external contributions of high value, general purpose, +demonstrably Thread Safe, mutable data structures to be made available via the StdLib.

    +
    +

    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 blocking 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;
    +
    +
    +

    Basic HTTP Servers

    +

    Claro has been carefully designed to be uniquely well-suited for building highly efficient, scalable web servers. +Claro's "Fearless Concurrency" guarantees are explicitly an effort to +make it significantly challenging to make a buggy, slow web server - and instead, Claro's novel concurrency model will +lead to performant and easy-to-maintain web servers naturally falling out of even naive usages of the language.

    +

    To actually demonstrate this explicitly, Claro provides very basic support for building HTTP servers that can be used in +the absence of any sort of 3rd party framework to jump you right into your first web server in Claro. This feature is +largely intended as a demonstration of Claro's current capabilities, and to point towards Claro's future direction. This +is by no means a complete web server framework.

    +

    Following this guide will lead you through the steps to setting up your very first web server in Claro.

    +

    HTTP Service Definition

    +

    First, you'll need to define the endpoints that your HTTP service will handle. To do this, you'll use Claro's built-in +HttpService definition syntax, e.g.:

    +

    Fig 1:

    +
    +
    HttpService Greeter {
    +  genericGreeting: "/genericGreeting",
    +  greeting: "/greeting/{name}"
    +}
    +
    +
    +

    The above defines a very simple service with two basic endpoints.

    +

    Auto-Generated HttpServer

    +

    Claro will automatically generate a pre-configured, non-blocking web server implementation for your HttpService +definition by using the builtin magic function http::getBasicHttpServerForPort(). This function is implemented as a +compiler intrinsic that will infer the server to automatically generate based on the type asserted on the call. So, we +can get Claro to generate a web server for the example Greeter service as in the example below.

    +
    +Note that no Endpoint Handlers have been implemented yet so we should actually expect the below to fail to compile and +prompt us to implement them! Doing things in this order allows us to allow Claro to prompt us with the signatures that +we need to implement, which is just a convenience. +
    +

    Fig 2:

    +
    +
    HttpService Greeter {
    +  genericGreeting: "/genericGreeting",
    +  greeting: "/greeting/{name}"
    +}
    +
    +# endpoint_handlers Greeter { }
    +
    +var greeterServer: HttpServer<Greeter> = http::getBasicHttpServerForPort(8080);
    +_ = greeterServer; # Not starting the server yet.
    +
    +

    Compilation Errors:

    +
    http_servers_EX2_example.claro:8: Invalid HttpServer Generation Requested for HttpService Missing Endpoint Handlers Definition: In order to automatically generate an HttpServer for the given HttpService an `endpoint_handlers` block such as the following must be defined:
    +	endpoint_handlers Greeter {
    +		graph provider genericGreeting() -> future<HttpResponse> {
    +			...
    +		}
    +		graph function greeting(pathArg0: string) -> future<HttpResponse> {
    +			...
    +		}
    +	}
    +var greeterServer: HttpServer<Greeter> = http::getBasicHttpServerForPort(8080);
    +                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    Implementing Endpoint Handlers

    +

    A service definition on its own doesn't actually provide much utility without endpoint handlers implemented to actually +serve up the responses to incoming requests. As we see from the compilation error above, we must define endpoint +handlers for the above HttpService by defining an endpoint_handlers block with a Graph Procedure implementation +corresponding to each endpoint in the HttpService definition.

    +

    Note that in the HTTP service definition above, the greeting endpoint includes {name} in the route - this is a "path +parameter" that will automatically be parsed from incoming requests and passed along as input to the associated endpoint +handler. So, note that the signature of the greeting endpoint handler includes a string arg that will represent the +value of the {name} path parameter for each request to that endpoint.

    +

    Fig 3:

    +
    +
    HttpService Greeter {
    +  genericGreeting: "/genericGreeting",
    +  greeting: "/greeting/{name}"
    +}
    +
    +endpoint_handlers Greeter {
    +  graph provider genericGreeting() -> future<HttpResponse> {
    +    root httpRes <- http::getOk200HttpResponseForJson(@json);
    +    node json    <- EndpointHandlerImpls::GENERIC_GREETING;
    +  }
    +  graph function greeting(name: string) -> future<HttpResponse> {
    +    root httpRes <- http::getOk200HttpResponseForJson(@json);
    +    node json    <- EndpointHandlerImpls::getGreetingForName(name);
    +  }
    +}
    +
    +var greeterServer: HttpServer<Greeter> = http::getBasicHttpServerForPort(8080);
    +_ = greeterServer; # Not starting the server yet.
    +
    +
    +

    As you can see, the core implementation logic was factored out into another Module EndpointHandlerImpls. These impls +can do anything, including making arbitrary downstream network requests, as long as they are non-blocking. In this case, +they'll simply return some simple greeting.

    +
    +Note: the requirement that each endpoint handler implementation be a Graph Procedure is to ensure that the resulting +web service is statically guaranteed to be non-blocking and to ensure that each request is handled off the +request thread so that long-running computations don't interfere with the service's ability to receive and schedule +incoming requests. This ties together all of Claro's design decisions to make building fundamentally concurrent web +services a trivial task. +
    +

    Starting an HttpServer

    +

    That's it! Now we can actually start the Greeter server that we just implemented. This is as simple as calling the +builtin http::startServerAndAwaitShutdown() consumer. This call effectively drops into an infinite loop, so depending +on how you start it, when you're done and want to bring the service down, you'll have to send a termination signal to +the server process e.g. using ctrl-C.

    +

    Fig 4:

    +
    +
    HttpService Greeter {
    +  genericGreeting: "/genericGreeting",
    +  greeting: "/greeting/{name}"
    +}
    +
    +endpoint_handlers Greeter {
    +  graph provider genericGreeting() -> future<HttpResponse> {
    +    root httpRes <- http::getOk200HttpResponseForJson(@json);
    +    node json    <- EndpointHandlerImpls::GENERIC_GREETING;
    +  }
    +  graph function greeting(name: string) -> future<HttpResponse> {
    +    root httpRes <- http::getOk200HttpResponseForJson(@json);
    +    node json    <- EndpointHandlerImpls::getGreetingForName(name);
    +  }
    +}
    +
    +var greeterServer: HttpServer<Greeter> = http::getBasicHttpServerForPort(8080);
    +_ = greeterServer; # Not starting the server yet.
    +# Finally start the service
    +http::startServerAndAwaitShutdown(greeterServer);
    +
    +
    +

    The below recording is a demonstration this server in action. It first starts up the server (launching the process in +the background), and then sends a couple requests to each endpoint using curl to demonstrate the server in action, and +then finally kills the server.

    +

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

    + +

    JSON Parsing

    +

    Claro strives to make development easier in many ways, and as being able to write programs that interact with the +network is an important goal, Claro has some initial support for automatically generating efficient JSON parsers for +relatively arbitrary formats. If you know the schema of the JSON data that you'll be interacting with, and can describe +it as some Claro struct, then in general you can automatically parse JSON data from a string directly into the Claro +type.

    +

    Claro's JSON parsing is implemented by generating a custom parser for the target data format at compile time. So, in +addition to ergonomic improvements, this approach offers potential performance benefits over a general-purpose JSON +parser.

    +

    For example, the following JSON string could be included in a +Resource File:

    +

    Fig 1:

    +
    +
    {
    +  "server_name": "My Server",
    +  "port": 8080,
    +  "logging": {
    +    "filename": "server.log"
    +  },
    +  "database": {
    +    "host": "localhost",
    +    "port": 5432,
    +    "database_name": "my_database"
    +  }
    +}
    +
    +
    +

    We can represent that JSON format as the following Claro data structure:

    +

    Fig 2:

    +
    +
    alias ServerConfig : struct {
    +  server_name: string,
    +  port: int,
    +  logging: struct {
    +    filename: string
    +  },
    +  database: struct {
    +    host: string,
    +    port: int,
    +    database_name: string
    +  }
    +}
    +
    +
    +

    And now, the JSON string can be parsed by a simple call to the fromJson(...) builtin function:

    +

    Fig 3:

    +
    +
    
    +resources::ServerConfigJSON
    +  |> files::readOrPanic(^)
    +  |> var parsedConfig: std::ParsedJson<ServerConfig> = fromJson(^);
    +
    +var parsedResult = unwrap(parsedConfig).result;
    +if (parsedResult instanceof ServerConfig) {
    +  print("Config has correct format and was parsed successfully!");
    +  print(strings::repeated("-", 50));
    +  print("Server Name: {parsedResult.server_name}");
    +  print("Port:        {parsedResult.port}");
    +} else {
    +  print("JSON parsing failed!");
    +  print(parsedResult);
    +}
    +
    +

    Output:

    +
    Config has correct format and was parsed successfully!
    +--------------------------------------------------
    +Server Name: My Server
    +Port:        8080
    +
    +
    +

    Limitations

    +
    +

    To be clear, Claro's JSON parsing support is currently fairly constrained and doesn't yet support the full range of +possible JSON formats. You'll be warned at compile-time if the format you're attempting to auto-parse is supported or +not. More work will be needed to complete the implementation. If you're interested in contributing to this please +reach out!

    +
    +

    Build Time Metaprogramming

    +

    Claro takes the stance that relatively sophisticated Build-time logic can be a great enabler of significant flexibility. +In particular, even very simple Build-time code generation can be used to achieve extremely convenient code reuse +without forcing the core Claro programming language itself to become more and more complex over time to directly +represent more and more complex design patterns.

    +

    This section seeks to demonstrate how Bazel's configuration language (that you'll already be using to declare +claro_module(...) and claro_binary(...) targets in BUILD files) can be used to write logic that will +programmatically determine at Build-time the program structure that will be converted to an executable at Compile-time.

    +

    Build vs Compile Phases

    +

    The first distinction to make here is a subtle difference between "Build" and "Compile" time in the Claro ecosystem. +All statically compiled languages have a "Compile" phase where the final program's source code is evaluated by the +language's compiler and eventually converted into an actual executable, and this is no different in Claro. The unique +aspect of Claro is that it's been intentionally designed with a tight integration with its Build system +Bazel in mind, and so your program's source files are first processed +by Bazel, potentially executing arbitrary Build-time logic of your choosing before any source code is ever passed to +the Claro compiler itself.

    +

    As we'll go into more detail on in this section, Bazel enables you to write all sorts of arbitrary file-manipulations or +script executions during this Build phase. This enables you to do any manner of source code transformations or even code +generation from statically validated sources of truth. And, thanks to Bazel's correctness guarantees, you're able to +string together arbitrary graphs of Build logic that will be reliably reproduced on each Build (with each step +benefiting from Bazel's caching support for incremental Builds). Only after all Build steps have completed successfully +does the Build phase end and the Compile phase begin with the final dependency graph of claro_binary(...) and +claro_module(...) targets evaluated by the Claro compiler.

    +

    Continue on to the next sections where we'll go into more details to demonstrate some ways you can leverage Build-time +metaprogramming to gain more dynamic control over the Claro programs you create.

    +

    Source Code Templates

    +

    The first, extremely simple Build-time Metaprogramming example that we'll look at is one way to create and use source +code templates at Build time.

    +

    As a contrived example, imagine that you're writing an +HTTP Service's homepage +Endpoint Handler where you want to +just serve some hardcoded static HTML representing our site's trivial homepage. Of course, you may decide to just +directly write out the HTML string inline, but it would probably be more useful to create a separate homepage.html +file so that you can get IDE support for your HTML. You could of course depend on homepage.html as a Resource file to +read at runtime, but we could also opt to directly embed the file's HTML contents into the source code at Build time so +that we don't have to spend any time reading the file while the program is running.

    +

    To do this, we could make our source file a template with a format string {{HOMEPAGE_HTML}} to be replaced:

    +

    Fig 1:

    +
    +
    # ex1.claro.tmpl
    +provider homepageHtml() -> string {
    +  return "{{HOMEPAGE_HTML}}";
    +}
    +
    +
    +

    expand_template(...) Macro

    +

    Bazel provides ample tooling for you to write this functionality entirely from scratch, but to make it easier to get up +and running, Claro provides an expand_template(...) Bazel macro out of the box. The BUILD file below expands the +template by converting the given homepage.html file to a single line with all " escaped and inserting it into the +ex1.claro.tmpl:

    +

    Fig 2:

    +
    +
    # BUILD
    +load("@claro-lang//stdlib/utils/expand_template:expand_template.bzl", "expand_template")
    +
    +expand_template(
    +    name = "ex1",
    +    template = "ex1.claro.tmpl",
    +    out = "ex1.claro",
    +    substitutions = {
    +        # Replace {{HOMEPAGE_HTML}} with the contents of the html file generated below.
    +        "HOMEPAGE_HTML": "homepage_single_line.html",
    +    },
    +)
    +
    +# Learn more about genrule at: https://bazel.build/reference/be/general#genrule
    +genrule(
    +    name = "homepage_single_line",
    +    srcs = ["homepage.html"],
    +    outs = ["homepage_single_line.html"],
    +    # Bash script to remove all newlines and escape double-quotes.
    +    cmd = "cat $(SRCS) | tr '\\n' ' ' | sed 's/\"/\\\\\"/g' > $(OUTS)",
    +)
    +
    +
    +

    And now you end up with a valid Claro source file:

    +

    Fig 3:

    +
    +
    # ex1.claro
    +provider homepageHtml() -> string {
    +  return "<!DOCTYPE html> <html lang=\"en\"> <head>     <meta charset=\"UTF-8\">     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">     <title>My Website</title> </head> <body> <h1>Welcome to my website!</h1> <p>This is a very basic homepage.</p> </body> </html>";
    +}
    +
    +
    +

    (Aside) Claro's Entire Docs Site is Generated at Build Time Using This Templating Approach!

    +

    Bazel's support for this Build time execution is an extremely powerful tool that can be used for all sorts of things +where you'd like to derive some files (program source code or otherwise) from some other file(s) representing canonical +source(s) of truth.

    +

    In fact, this docs site was dynamically generated at Build time by first executing each and every sample Claro code +snippet and templating the snippet's output into the markdown file that eventually gets converted to HTML. To make this +example more explicit, this site's Hello, World! page was generated +from literally the below template:

    +

    Fig 4:

    +
    +
    # Hello, World!
    +
    +{{EX1}}
    +
    +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.
    +
    +
    +

    And the corresponding BUILD file contains the following doc_with_validated_examples(...) declaration which is built +on top of the expand_template(...) macro described above:

    +

    Fig 5:

    +
    +
    # BUILD
    +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples")
    +
    +doc_with_validated_examples(
    +    name = "hello_world",
    +    doc_template = "hello_world.tmpl.md",
    +    examples = ["hello_world.claro"],
    +)
    +
    +
    +

    Which generates this final output markdown:

    +

    Fig 6:

    +
    +
    # Hello, World!
    +
    +#### _Fig 1:_
    +---
    +```claro
    +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.
    +
    +
    +
    +

    This is a powerful example of Build-time Metaprogramming being put to good use. This approach is not just convenient, +but provides some legitimate guarantees that wherever this approach was used, if the site deploys, then the sample code +on the site is guaranteed to actually be valid because otherwise Bazel would have failed the build! You can imagine +how useful this is for an actively in-development language where things are subject to potentially change at any time.

    +

    Feel free to dig into the source code of Claro's docs site +here if you want to get +more into the weeds on this example.

    +

    (Literal) Code Reuse

    +
    +

    Claro enables you to literally reuse source code throughout your program rather than offering a list of complex +type system features that indirectly enable code reuse like other languages do (e.g. via inheritance in OO +languages, or liberal use of higher order functions in FP languages).

    +

    It will take a bit of conceptual groundwork (unlearning long-held assumptions) to understand Claro's approach here, but +in exchange, you'll be given some powerful new ways to think about "what" a Claro program is.

    +
    +

    Rather than trying to impose specific code organization design patterns on you (e.g. Java trying to force use of +inheritance) Claro instead aims to be flexible enough to allow you full control of using and encoding your own +organizational design patterns (potentially including inheritance if you felt so inclined).

    +

    Probably the most fundamental idea that you'll need to internalize to fully understand Claro's larger design in a deep +way is the relationship that a file containing Claro source code actually has with the final resulting program. This is +a subtle point. It's very possible to write a good amount of Claro code without noticing anything unusual in this +regard.

    +

    Rather than going into an overly detailed explanation, read on to the following sections for some detailed +examples of various different ways you can dynamically construct Claro programs at Build time.

    +

    Reusing Module APIs

    +
    +

    This is a long section, but it's foundational to a deep understanding of the full expressive power you have available to +you at Build time. You're encouraged to read through this in full! But remember, while you may sometimes end up +consuming Modules that were defined using these advanced features, you'll never be forced to directly use any +Build time metaprogramming feature yourself. These will always be conveniences for more advanced users.

    +
    +

    Multiple Implementations of a Module API

    +

    The most basic, and also most important form of reuse in Claro codebases will be in the form of multiple Modules sharing +a common API. This doesn't require any special syntax or setup whatsoever, once you've defined a valid +.claro_module_api file any number of Modules may implement that API. Each claro_module(...) definition simply needs +to declare its module_api_file = ... to reference the same exact .claro_module_api file.

    +

    For example, the following API:

    +

    Fig 1:

    +
    +
    # animal.claro_module_api
    +opaque newtype InternalState
    +
    +newtype State : struct {
    +  name: string,
    +  internal: InternalState
    +}
    +
    +implement AnimalSounds::AnimalSounds<State>;
    +
    +
    +

    Can be implemented multiple times, by more than one Module:

    +

    Fig 2:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +claro_module(
    +    name = "dog",
    +    module_api_file = "animal.claro_module_api",
    +    srcs = ["dog.claro"],
    +    deps = {"AnimalSounds": ":animal_sounds"},
    +    # `AnimalSounds` is referenced in this Module's API so must be exported.
    +    exports = ["AnimalSounds"],
    +)
    +claro_module(
    +    name = "cat",
    +    module_api_file = "animal.claro_module_api",
    +    srcs = ["cat.claro"],
    +    deps = {"AnimalSounds": ":animal_sounds"},
    +    # `AnimalSounds` is referenced in this Module's API so must be exported.
    +    exports = ["AnimalSounds"],
    +)
    +# ...
    +
    +
    +

    In general, the Build targets declared above will be totally sufficient!

    +

    Going Deeper

    +

    The API definition above declares that any Module implementing the API will export a type that includes a name field, +but may configure its own internal state as it wishes. To make this example more compelling, if you read the API +closely, however, you may notice that as presently defined there would be no way for any dependent Module to actually +interact with this API as defined, because there's no way to instantiate the opaque newtype InternalState1.

    +

    So, to actually make this API useful, implementing Modules would need to somehow explicitly export some Procedure that +gives dependents the ability to instantiate the InternalState. You'll notice that care has been taken to make sure +that Claro's API syntax is flexible enough to allow for multiple APIs to be conceptually (or in this case, literally) +concatenated to create one larger API for a Module to implement. So that's exactly what we'll do here, with each module +exporting an additional procedure from its API to act as a "constructor" for its opaque type.

    +

    Fig 3:

    +
    +
    # dog_cons.claro_module_api
    +function create(name: string, isHappy: boolean) -> State;
    +
    +
    +

    Fig 4:

    +
    +
    # cat_cons.claro_module_api
    +function create(name: string, favoriteInsult: string) -> State;
    +
    +
    +

    Fig 5:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +    ["BUILD", "animal.claro_module_api", "cat_cons.claro_module_api", "dog_cons.claro_module_api"],
    +)
    +
    +genrule(
    +    name = "dog_api",
    +    srcs = ["animal.claro_module_api", "dog_cons.claro_module_api"],
    +    outs = ["dog.claro_module_api"],
    +    cmd = "cat $(SRCS) > $(OUTS)"
    +)
    +claro_module(
    +    name = "dog",
    +    module_api_file = ":dog_api", # Updated to use the API with a constructor.
    +    srcs = ["dog.claro"],
    +    deps = {"AnimalSounds": ":animal_sounds"},
    +    # `AnimalSounds` is referenced in this Module's API so must be exported.
    +    exports = ["AnimalSounds"],
    +)
    +
    +genrule(
    +    name = "cat_api",
    +    srcs = ["animal.claro_module_api", "cat_cons.claro_module_api"],
    +    outs = ["cat.claro_module_api"],
    +    cmd = "cat $(SRCS) > $(OUTS)"
    +)
    +claro_module(
    +    name = "cat",
    +    module_api_file = ":cat_api", # Updated to use the API with a constructor.
    +    srcs = ["cat.claro"],
    +    deps = {"AnimalSounds": ":animal_sounds"},
    +    # `AnimalSounds` is referenced in this Module's API so must be exported.
    +    exports = ["AnimalSounds"],
    +)
    +# ...
    +
    +
    +
    +

    In the future claro_module(...) will accept a list of .claro_module_api files instead of a single file to make this +pattern easier to access without having to manually drop down to a genrule(...) to concatenate API files.

    +
    +

    And now, importantly, multiple Modules implementing the same API can coexist in the same Claro program with no conflict!

    +

    Fig 6:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +# ...
    +
    +claro_binary(
    +    name = "animals_example",
    +    main_file = "animals_example.claro",
    +    deps = {
    +        "AnimalSounds": ":animal_sounds",
    +        "Cat": ":cat",
    +        "Dog": ":dog",
    +    },
    +)
    +
    +
    +

    Fig 7:

    +
    +
    # animals_example.claro
    +var animals: [oneof<Cat::State, Dog::State>] = [
    +    Dog::create("Milo", true),
    +    Dog::create("Fido", false),
    +    Cat::create("Garfield", "This is worse than Monday morning.")
    +  ];
    +
    +for (animal in animals) {
    +  print(AnimalSounds::AnimalSounds::makeNoise(animal));
    +}
    +
    +

    Output:

    +
    Woof!
    +Grrrr...
    +This is worse than Monday morning.
    +
    +
    +
    +

    Read more about Dynamic Dispatch if +you're confused how the above Contract Procedure call works.

    +
    +

    Expressing the Above Build Targets More Concisely

    +

    Now, you'd be right to think that the above Build target declarations are extremely verbose. And potentially worse, they +also contain much undesirable duplication that would have to kept in sync manually over time. Thankfully, Bazel provides +many ways to address both of these issues.

    +

    Remember that Bazel's BUILD files are written using Starlark, a subset of Python, so we have a significant amount of +flexibility available to us when declaring Build targets! We'll walk through a few different options for defining these +targets much more concisely.

    +

    Using List Comprehension to Define Multiple Similar Targets at Once

    +

    The very first thing we'll notice is that the vast majority of these targets are duplicated. So, as programmers, our +first thought should be to ask how we can factor out the common logic, to avoid repeating ourselves. The below rewritten +BUILD file does a much better job of making the similarities between the Cat and Dog modules explicit, and also +prevents them from drifting apart accidentally over time.

    +

    Fig 8:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +[ # This list-comprehension should feel very reminiscent of Claro's own comprehensions.
    +    [ # Generate multiple targets at once by declaring them in a list or some other collection.
    +        genrule(
    +            name = "{0}_api".format(name),
    +            srcs = ["animal.claro_module_api", "{0}_cons.claro_module_api".format(name)],
    +            outs = ["{0}.claro_module_api".format(name)],
    +            cmd = "cat $(SRCS) > $(OUTS)"
    +        ),
    +        claro_module(
    +            name = name,
    +            module_api_file = ":{0}_api".format(name),
    +            srcs = srcs,
    +            deps = {"AnimalSounds": ":animal_sounds"},
    +            # `AnimalSounds` is referenced in this Module's API so must be exported.
    +            exports = ["AnimalSounds"],
    +        )
    +    ]
    +    for name, srcs in {"dog": ["dog.claro"], "cat": ["cat.claro"]}.items()
    +]
    +
    +
    +

    Declaring a Macro in a .bzl File to Make This Factored Out Build Logic Portable

    +

    Now let's say that you wanted to declare another "Animal" in a totally separate package in your project. You could +easily copy-paste the Build targets found in the previous BUILD file... but of course, this would invalidate our goal +of avoiding duplication. So instead, as programmers our spider-senses should be tingling that we should factor this +common logic not just into the loop (list comprehension), but into a full-blown function that can be reused and called +from anywhere in our project. Bazel thankfully gives us access to defining so-called +"Macros" that fill exactly this purpose2.

    +

    The Build targets in the prior examples could be factored out into a Macro definition in a .bzl (Bazel extension file) +like so:

    +

    Fig 9:

    +
    +
    # animals.bzl
    +load("@claro-lang//:rules.bzl", "claro_module")
    +
    +def Animal(name, srcs):
    +    native.genrule( # In .bzl files you'll need to prefix builtin rules with `native.`
    +        name = "{0}_api".format(name),
    +        srcs = ["animal.claro_module_api", "{0}_cons.claro_module_api".format(name)],
    +        outs = ["{0}.claro_module_api".format(name)],
    +        cmd = "cat $(SRCS) > $(OUTS)"
    +    )
    +    claro_module(
    +        name = name,
    +        module_api_file = ":{0}_api".format(name),
    +        srcs = srcs,
    +        deps = {"AnimalSounds": ":animal_sounds"},
    +        # This Module is referenced in this Module's API so must be exported.
    +        exports = ["AnimalSounds"],
    +    )
    +
    +
    +

    And then, the macro can be used from BUILD files like so3:

    +

    Fig 10:

    +
    +
    # BUILD
    +load(":animals.bzl", "Animal")
    +
    +Animal(name = "dog", srcs = ["dog.claro"])
    +Animal(name = "cat", srcs = ["cat.claro"])
    +
    +
    +

    It couldn't possibly get much more concise than this! If you find yourself in a situation where you'll be defining lots +of very similar Modules, it's highly recommended that you at least consider whether an approach similar to this one will +work for you.

    +

    Swapping Dependencies at Build Time Based on Build Flags

    +

    TODO(steving) I think that I probably want to move this to be its own top-level section.

    +

    TODO(steving) Fill out this section describing how this is effectively Dependency Injection handled at Build time rather +than depending on heavyweight DI frameworks.

    +
    +
    1 +

    For more context, read about Opaque Types.

    +
    +
    2 +

    It's highly recommended to start with Macros, but if you find that a Macro is getting a lot of use (for example if +you're publishing it for external consumption) you may find it beneficial to convert your Macro into a Bazel +Rule. Bazel Rules have much nicer usage +ergonomics as they enable Bazel to enforce certain higher level constraints such as requiring that certain parameters +only accept files with a certain suffix. However, Bazel Rules are much more complicated to define than Macros so +this should really be left to very advanced Bazel users.

    +
    +
    3 +

    In practice, if you want a Bazel Macro to be reusable outside the Build package in which its .bzl file is +defined, you'll need to use fully qualified target labels. E.g. //full/path/to:target rather than :target, as the +latter is a "relative" label whose meaning is dependent on the Build package the Macro is used in, which is +usually not what you want.

    +
    +

    Reusing Source Code

    +

    Continuing to consider the "Animals" example from the +previous section, let's consider a simple refactoring.

    +

    As a reminder, previously, calls to AnimalSounds::makeNoise(...) produced very simple output:

    +

    Fig 1:

    +
    +
    # animals_example.claro
    +var animals: [oneof<Cat::State, Dog::State>] = [
    +    Dog::create("Milo", true),
    +    Dog::create("Fido", false),
    +    Cat::create("Garfield", "This is worse than Monday morning.")
    +  ];
    +
    +for (animal in animals) {
    +  print(AnimalSounds::AnimalSounds::makeNoise(animal));
    +}
    +
    +

    Output:

    +
    Woof!
    +Grrrr...
    +This is worse than Monday morning.
    +
    +
    +

    As currently defined...

    +

    Fig 2:

    +
    +
    # BUILD
    +load(":animals.bzl", "Animal")
    +
    +Animal(name = "dog", srcs = ["dog.claro"])
    +Animal(name = "cat", srcs = ["cat.claro"])
    +
    +
    +

    ...if we wanted to include the animals' names in the printed lines. We'd have to go and manually update each +Module's implementation, making changes to both dog.claro and cat.claro (and importantly, to any other animals we'd +want to share this updated behavior):

    +

    Fig 3:

    +
    +
    # cat.claro
    +newtype InternalState : struct { favoriteInsult: string }
    +
    +implement AnimalSounds::AnimalSounds<State> {
    +  function makeNoise(cat: State) -> string {
    +    # Cats are mean, they're going to say mean things no matter what.
    +    var noise = unwrap(unwrap(cat).internal).favoriteInsult;
    +    return "{noise} - says {unwrap(cat).name}"; # Analogous code repeated in dog.claro.
    +  }
    +}
    +
    +function create(name: string, favoriteInsult: string) -> State {
    +  return State({
    +    name = name,
    +    internal = InternalState({favoriteInsult = favoriteInsult})
    +  });
    +}
    +
    +
    +

    And now, after making the changes, rerunning will give us the updated output we were looking for:

    +

    Fig 4:

    +
    +
    Woof! - says Milo
    +Grrrr... - says Fido
    +This is worse than Monday morning. - says Garfield
    +
    +
    +

    Repetition may be ok in some situations, but in many others, it would represent a risk of potential maintenance costs.

    +

    Of course, you could always factor out the common logic into a new Module that can be depended on and called explicitly +by each animal implementation (and in fact, this is absolutely the recommended approach in most situations). But, +since we're interested in digging into possible Build time metaprogramming capabilities in this section, by way of +example, we'll walk through some other ways you could go about sharing this base implementation across +Modules that potentially wouldn't have been immediately obvious, coming from other languages.

    +

    claro_module(...) Accepts Multiple Srcs

    +

    The first thing to understand is that a Module's implementation can be spread across multiple source files. This +means that different .claro files can satisfy different portions of a Module's API. And, more importantly for our +current purposes, this means that instead of creating a whole new Module to contain the common logic factored out of +dog.claro and cat.claro, we could instead define a single new file containing that factored out logic...

    +

    Fig 5:

    +
    +
    # get_message_with_name.claro
    +function getMessageWithName(message: string, state: State) -> string {
    +  var name = unwrap(state).name; # All animal States have a top-level `name` field.
    +  return "{message} - says {name}";
    +}
    +
    +
    +

    ...include it in the srcs of BOTH Module declarations...

    +

    Fig 6:

    +
    +
    # BUILD
    +load(":animals.bzl", "Animal")
    +
    +# An example of **LITERALLY** reusing code.
    +Animal(name = "dog", srcs = ["dog.claro", "get_message_with_name.claro"])
    +Animal(name = "cat", srcs = ["cat.claro", "get_message_with_name.claro"])
    +
    +
    +

    ...and then directly call the factored out function in each Module's implementation!

    +

    Fig 7:

    +
    +
    # cat.claro
    +newtype InternalState : struct { favoriteInsult: string }
    +
    +implement AnimalSounds::AnimalSounds<State> {
    +  function makeNoise(cat: State) -> string {
    +    var noise = unwrap(unwrap(cat).internal).favoriteInsult;
    +    return getMessageWithName(noise, cat); # Analogous code repeated in dog.claro.
    +  }
    +}
    +
    +function create(name: string, favoriteInsult: string) -> State {
    +  return State({
    +    name = name,
    +    internal = InternalState({favoriteInsult = favoriteInsult})
    +  });
    +}
    +
    +
    +

    This is an example of LITERAL code reuse - something that's generally not actually possible in other languages. +In fact, you could take this a step further by factoring out this shared src file directly into the Animal(...) +Macro implementation +to automatically make the getMessageWithName(...) function available to all Animal(...) declarations.

    +
    +

    The key to this all working is that when the reused function references the State Type, it refers to either +Dog::State or Cat::State depending on the context in which it's compiled. And the only field accessed via +unwrap(state).name is valid for both types. In a sense, this form of Build time metaprogramming has given this +strongly, statically typed programming language the ability to drop down into dynamic "duck typing" features when it's +convenient to us. This utterly blurs the lines between the two typing paradigms while still maintaining all of the +static type validations because all of this is happening at Build time, with Compile time's type-checking validations +still to follow!

    +
    +

    "Inheritance" - Inverting the Prior Example

    +

    The prior example is a demonstration of the "composition" model where, in order to share code, you explicitly +compose new code around the shared code by manually calling into the shared code.

    +

    But, of course, while composition is generally recommended over the inverted "inheritance" model, many people prefer the +convenience that inheritance-based designs offer. Specifically, as you saw in the prior example, composition is more +verbose, as you have to explicitly opt in to code sharing, whereas inheritance makes this implicit.

    +

    Now, instead of each Module implementing the AnimalSounds Contract manually, a single default implementation could be +written...

    +

    Fig 8:

    +
    +
    # default_animal_sounds_impl.claro
    +implement AnimalSounds::AnimalSounds<State> {
    +  function makeNoise(state: State) -> string {
    +    return "{makeNoiseImpl(state)} - says {unwrap(state).name}";
    +  }
    +}
    +
    +
    +

    ...and then each Animal Module simply needs to define the expected internal implementation function makeNoiseImpl(...) +to provide its custom logic...

    +

    Fig 9:

    +
    +
    # cat.claro
    +newtype InternalState : struct { favoriteInsult: string }
    +
    +function makeNoiseImpl(cat: State) -> string {
    +  # No more code duplication.
    +  return unwrap(unwrap(cat).internal).favoriteInsult;
    +}
    +
    +function create(name: string, favoriteInsult: string) -> State {
    +  return State({
    +    name = name,
    +    internal = InternalState({favoriteInsult = favoriteInsult})
    +  });
    +}
    +
    +
    +

    ...and again, the "inherited" code can be included in the srcs of BOTH Module declarations...

    +

    Fig 10:

    +
    +
    # BUILD
    +load(":animals.bzl", "Animal")
    +
    +# An example of **LITERALLY** reusing code.
    +Animal(name = "dog", srcs = ["dog.claro", "default_animal_sounds_impl.claro"])
    +Animal(name = "cat", srcs = ["cat.claro", "default_animal_sounds_impl.claro"])
    +
    +
    +
    +

    Modern software engineering best practices have been progressing towards the consensus view that you should +prefer composition over inheritance. +But, even though this preference is generally shared by Claro's author, it shouldn't necessarily indicate that +inheritance is impossible to achieve. While Claro won't ever add first-class support for inheritance to the language, +Claro explicitly leaves these sorts of design decisions to you and provides Build time metaprogramming support to allow +the community to encode these sorts of organizational design patterns themselves to be available for whoever decides +they have a good reason for it. You shouldn't need to be hostage to the language designer's agreement or prioritization +to be able to extend the code organization patterns that can be expressed in the language.

    +
    +

    Further Flexibility

    +

    If you've made it this far, well done! You may never need to use these "power user" features, but you should now have +the core conceptual background that you'll need to use Bazel to encode your own relatively sophisticated custom +organizational design patterns in your Claro programs using Build time metaprogramming!

    +

    Of course, there's always another step deeper into such waters. By continuing on to the next section, we'll continue to +develop the Animals example even further. In particular, we'll demonstrate one such sophisticated design pattern +called "Abstract Modules" that fully generalizes all of the functionality described in the past two sections, and +goes even further to provide significant configurability controls on top of what you've seen in the example +Animal(...) macro so far.

    +

    Abstract Modules

    +

    In the past couple sections we've worked through examples of some fairly complex Build time metaprogramming to generate +Modules that share some common behaviors between them. Having those low-level Build tools in your back pocket is +something that may very well come in handy during your Claro development journey. However, in general, it's worth +acknowledging that there's some inherent complexity in the prior approaches. It's my hope that the community will +standardize around some well-defined set of Build design patterns that are encoded into well-known, standardized +interfaces (Bazel Macros/Rules) to abstract away the low-level complexity underneath.

    +

    In this section, I'll try to demonstrate what such a standardized encoding might look like for the design pattern +demonstrated in the prior sections.

    +

    Limitations of the Approach in the Prior Sections

    +

    The Animal(...) Macro defined in the previous sections was extremely rigid. It encoded exactly one specific code +structure. It was arguably a very useful structure, but if we wanted to create an Animal(...) that deviated even +slightly from the expected structure, you'd either have to go and refactor the Macro definition itself and all usages to +add support for new behaviors, or you'd just have to fall back to manually defining a Module, losing all Build level +code sharing that you were trying to achieve with the standardized Animal(...) Macro.

    +

    All that said, the biggest limitation of the approach in the prior sections is that it was bespoke. While all the +customizability that Build time metaprogramming gives you blows the design space wide open, it also makes it that much +harder for anyone unfamiliar with the domain to follow what's going on.

    +

    Abstracting Away the "Abstract Module" Pattern Itself

    +

    Arguably, the Animal(...) macro from the previous sections could be described as an encoding of an "Abstract Module" +(in a sense vaguely similar to Java's "Abstract Classes" - minus the object-orientation). "Abstract" in the sense that +some portions of all "Animal" Modules are known before even knowing the "concrete Animal" Modules that you'll +specifically build later on. But there's nothing about this concept itself that's unique to "Animals". All sorts of +categories of similar Modules can be imagined, and they could potentially all benefit from a similar "Abstract" base +encoding that later gets specialized for each concrete Module.

    +

    Largely as a draft demonstration of what a standardized encoding of this "Abstract Module" design pattern could look +like, Claro provides a claro_abstract_module(...) Bazel Macro. Now, the +Animal(...) Macro +can be auto-generated in a few lines by simply calling the claro_abstract_module(...) Macro.

    +

    Fig 1:

    +
    +
    # animal.bzl
    +load(
    +    "@claro-lang//stdlib/utils/abstract_modules:abstract_module.bzl",
    +    "claro_abstract_module",
    +)
    +
    +Animal = \
    +    claro_abstract_module(
    +        name = "Animal",
    +        module_api_file = "animal.claro_module_api",
    +        overridable_srcs = {
    +            "AnimalSoundsImpl": ":default_animal_sounds_impl.claro",
    +            "InternalStateAndConstructor": ":default_internal_state.claro",
    +            "MakeNoiseImpl": ":default_make_noise_impl.claro",
    +        },
    +        default_deps = {
    +            "AnimalSounds": ":animal_sounds",
    +        },
    +        default_exports = ["AnimalSounds"],
    +    )
    +
    +
    +

    Override Flexibility

    +

    On top of being a standardized encoding of this design pattern, "Abstract Modules" provide an additional mechanism for +various components of the Module to be override-able. In the Animal = claro_abstract_module(...) declaration above, +the overridable_srcs = {...} arg lists a few different named components that have default implementations provided +as .claro source files that can be optionally overridden by any concrete Animal(...) usages. For the sake of +demonstration, the "Abstract Animal Module" has been decomposed into a relatively fine granularity, allowing significant +customization to downstream users of the Macro.

    +

    So now the Animal(...) macro can be used very similarly as in the previous sections, but with some slightly different +arguments:

    +

    Fig 2:

    +
    +
    # BUILD
    +load(":animal.bzl", "Animal")
    +
    +[
    +    Animal(
    +        name = animal,
    +        api_extensions = [":{0}_cons.claro_module_api".format(animal)],
    +        override = {
    +            "InternalStateAndConstructor": ":{0}_state_and_cons.claro".format(animal),
    +            "MakeNoiseImpl": ":{0}_noise.claro".format(animal),
    +        },
    +    )
    +    for animal in ["dog", "cat"]
    +]
    +
    +# ...
    +
    +
    +

    The first notable detail is that the idea of extending Module APIs is now encoded directly into the "Abstract Module" +Macros returned by claro_abstract_module(...) in the form of the api_extensions = [...] parameter. So now, we didn't +need to manually concatenate api files using a Bazel genrule(...) as we +did in the prior sections. Then, notice that +the concrete cat and dog Animal Modules now implicitly inherit the default AnimalSoundsImpl implementation, while +explicitly overriding InternalStateAndConstructor and MakeNoiseImpl with custom implementations. Now, these Module +definitions can be used exactly the same as they were when defined using the approach(es) from the prior sections.

    +

    As one final motivating example, to demonstrate something that this new Animal(...) implementation can do that the +prior implementation(s) couldn't, we can also define a new Animal Module that overrides the default AnimalSounds +Contract implementation, by overriding AnimalSoundsImpl:

    +

    Fig 3:

    +
    +
    # platypus_animal_sounds_impl.claro
    +implement AnimalSounds::AnimalSounds<State> {
    +  function makeNoise(state: State) -> string {
    +    var name = unwrap(state).name;
    +    if (unwrap(unwrap(state).internal).isWearingFedora) { # https://youtu.be/KFssdwb7dF8?si=Omgf1-D3qIBY6jO9
    +      var codename = name[0];
    +      return "!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent {codename}";
    +    }
    +    return "Chirp Chirp - says {name}";
    +  }
    +}
    +
    +
    +

    Fig 4:

    +
    +
    # BUILD
    +load(":animal.bzl", "Animal")
    +
    +# ...
    +
    +Animal(
    +    name = "platypus",
    +    api_extensions = [":platypus_cons.claro_module_api"],
    +    override = {
    +        "AnimalSoundsImpl": ":platypus_animal_sounds_impl.claro",
    +        "InternalStateAndConstructor": ":platypus_state_and_cons.claro",
    +    },
    +)
    +
    +
    +

    And now, our demo program can start use the platypus Module just as it was using the dog and cat Modules +previously:

    +

    Fig 5:

    +
    +
    # BUILD
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +# ...
    +
    +claro_binary(
    +    name = "animals_example",
    +    main_file = "animals_example.claro",
    +    deps = {
    +        "AnimalSounds": ":animal_sounds",
    +        "Cat": ":cat",
    +        "Dog": ":dog",
    +        "Platypus": ":platypus",
    +    },
    +)
    +
    +
    +

    Fig 6:

    +
    +
    # animals_example.claro
    +var animals: [oneof<Cat::State, Dog::State, Platypus::State>] = [
    +    Dog::create("Milo", true),
    +    Dog::create("Fido", false),
    +    Cat::create("Garfield", "This is worse than Monday morning."),
    +    Platypus::create("Perry", false),
    +    Platypus::create("Perry", true)
    +  ];
    +
    +for (animal in animals) {
    +  print(AnimalSounds::AnimalSounds::makeNoise(animal));
    +}
    +
    +

    Output:

    +
    Woof! - says Milo
    +Grrrr... - says Fido
    +This is worse than Monday morning. - says Garfield
    +Chirp Chirp - says Perry
    +!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent P
    +
    +
    +

    Additional Knobs & Implementation Details

    +

    The point of this section is really to demonstrate some possibilities available to all Claro users interested in +writing Bazel Macros to encode relatively complex design patterns. And, I think we can agree that being able to +hand-roll the very concept of inheritance without having to make a single change to the Claro compiler itself is a +rather powerful capability!

    +

    But to say it once more, this is all meant as a demonstration, rather than encouragement of specific usage of this +claro_abstract_module(...) Macro. So, we won't dive any further into the implementation details of how this prototype +works, and we won't even go into the full range of capabilities that this prototype currently supports. However, if +you're sufficiently interested that you really wanted to know more, feel free to check out +the implementation +yourself! You'll probably learn a lot about Bazel in the process of reading through it, so it could be enlightening.

    +

    Default Modules

    +

    Claro aims to provide an expansive standard library of modules that all Claro programs have an implicit dependency on at +all times. Any of these default StdLib modules can be accessed directly with calls like:

    +

    Fig 1:

    +
    +
     var l: mut [int] = mut [];
    +lists::add(l, 1);
    +lists::add(l, 2);
    + print(l);
    +
    +

    Output:

    +
    mut [1, 2]
    +
    +
    +

    and you never need to manually place an explicit dependency at the BUILD level like you normally would for any other +module outside the StdLib:

    +

    Fig 2:

    +
    +
    claro_binary(
    +    name = "some_binary",
    +    main_file = "some_file.claro",
    +    deps = {
    +        # Deps on modules outside the StdLib require an explicit Build dep.
    +        "SomeDep": "//path/to/some/dep:module",
    +    },
    +)
    +
    +
    +
    +

    The StdLib is a WIP - Recommendations are Welcome!

    +

    Of course, as Claro's still at a very early stage, a certain level of incompleteness has to be expected. Please don't +hesitate to reach out with suggestions in ways that the current standard library could be improved or expanded!

    +
    +

    booleans

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +function parseBoolean(s: string) -> boolean;
    +
    +

    deque

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # This module simply exposes the functionality from java.util.ArrayDeque<E> to Claro programs. See:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayDeque.html
    +
    +# Deque = "Double-ended queue".
    +opaque newtype mut Deque<E>
    +
    +atom NO_SUCH_ELEMENT
    +atom DEQUE_UNCHANGED
    +
    +provider create<T>() -> Deque<T>;
    +function of<T>(elems: [T]) -> Deque<T>;
    +function withCapacity<T>(initialCapacity: int) -> Deque<T>;
    +
    +consumer addAllToFront<T>(deque: Deque<T>, elems: [T]);
    +
    +consumer addFirst<T>(deque: Deque<T>, t: T);
    +consumer addLast<T>(deque: Deque<T>, t: T);
    +
    +consumer clear<T>(deque: Deque<T>);
    +
    +# TODO(steving) Claro's intended to have support for the builtin `copy()` function. For $java_type's however this can't
    +# TODO(steving)   be automatically generated, so I need some mechanism for $java_type's to provide a function for that
    +# TODO(steving)   copying implementation.
    +function clone<T>(deque: Deque<T>) -> Deque<T>;
    +
    +function contains<T>(deque: Deque<T>, t: T) -> boolean;
    +function containsAll<T>(deque: Deque<T>, elems: [T]) -> boolean;
    +
    +consumer forEach<T>(deque: Deque<T>, action: consumer<T>);
    +
    +function isEmpty<T>(deque: Deque<T>) -> boolean;
    +
    +function peekFirst<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function peekLast<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +
    +function pollFirst<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function pollLast<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +
    +function removeAll<T>(deque: Deque<T>, elems: [T]) -> oneof<std::OK, NO_SUCH_ELEMENT>;
    +function removeElement<T>(deque: Deque<T>, t: T) -> oneof<std::OK, NO_SUCH_ELEMENT>;
    +function removeFirst<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function removeFirstOccurrence<T>(deque: Deque<T>, t: T) -> oneof<std::OK, NO_SUCH_ELEMENT>;
    +function removeIf<T>(deque: Deque<T>, predicate: function<T -> boolean>) -> oneof<std::OK, DEQUE_UNCHANGED>;
    +function removeLast<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function removeLastOccurrence<T>(deque: Deque<T>, t: T) -> oneof<std::OK, NO_SUCH_ELEMENT>;
    +
    +function retainAll<T>(deque: Deque<T>, elems: [T]) -> oneof<std::OK, DEQUE_UNCHANGED>;
    +
    +function size<T>(deque: Deque<T>) -> int;
    +
    +

    doubles

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +newtype InvalidNumberFormat : struct { msg: string }
    +
    +static MAX_VALUE: double;
    +static MIN_VALUE: double;
    +
    +function parseDouble(s: string) -> oneof<double, std::Error<InvalidNumberFormat>>;
    +
    +

    files

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +# Opaque type whose internal representation is not exposed to consumers. This cannot be unwrapped OR initialized by any
    +# code outside of this module's srcs.
    +opaque newtype Resource
    +newtype IOError : string
    +
    +# Now some claro file could read a resource declared in its build target as:
    +#   claro_module(
    +#     name = "foo",
    +#     module_api_file = "foo.claro_module_api",
    +#     srcs = ["foo.claro"],
    +#     resources = {"MyFile": "myfile.txt"},
    +#   }
    +# Inside `foo.claro`:
    +#   var fileContents: string = files::readOrPanic(resources::MyFile);
    +function read(resource: Resource) -> oneof<string, std::Error<IOError>>;
    +function readOrPanic(resource: Resource) -> string;
    +
    +
    +

    floats

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +newtype InvalidNumberFormat : struct { msg: string }
    +
    +static MAX_VALUE: float;
    +static MIN_VALUE: float;
    +
    +function parseFloat(s: string) -> oneof<float, std::Error<InvalidNumberFormat>>;
    +
    +

    futures

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +# Creates a `future` which has its value set immediately upon construction. The getters just return the value. This
    +# `future` can't be canceled or timed out and `futures::isDone(futures::immediateFuture(...))` always returns true.
    +function immediateFuture<T>(t: T) -> future<T>;
    +
    +# Creates a `future` which is cancelled immediately upon construction, so that `futures::isCancelled` always returns `true`.
    +provider immediateCancelledFuture<T>() -> future<T>;
    +
    +# Executes the given tasks, returning a list of Futures holding their status and results when all complete.
    +function invokeAll<T>(tasks: [provider<T>]) -> [future<T>];
    +
    +# Attempts to cancel execution of this task. This attempt will fail if the task has already completed, has already been
    +# cancelled, or could not be cancelled for some other reason. If successful, and this task has not started when cancel
    +# is called, this task should never run. If the task has already started, then the mayInterruptIfRunning parameter
    +# determines whether the thread executing this task should be interrupted in an attempt to stop the task.
    +#
    +# After this method returns, subsequent calls to `futures::isDone` will always return true. Subsequent calls to
    +# isCancelled() will always return true if this method returned true.
    +#
    +# Returns: `false` if the task could not be cancelled, typically because it has already completed normally; `true` otherwise.
    +function cancel<T>(f: future<T>, mayInterrupt: boolean) -> boolean;
    +
    +# Returns `true` if this task was cancelled before it completed normally, else `false`.
    +function isCancelled<T>(f: future<T>) -> boolean;
    +
    +# Returns `true` if this task completed. Completion may be due to normal termination, a Panic, or cancellation -- in all
    +# of these cases, this method will return `true`.
    +function isDone<T>(f: future<T>) -> boolean;
    +
    +# Creates a new `future` whose value is a list containing the values of all its input `future`s, if all succeed. The
    +# list of results is in the same order as the input list.
    +#
    +# Canceling this returned `future` will attempt to cancel all the component `future`s, and if any of the provided
    +# `future`s fails or is canceled, this one is, too.
    +function allAsList<T>(futures: [future<T>]) -> future<[T]>;
    +
    +# Creates a `future` that runs the given provider when the futures complete whether or not they're successful.
    +# Canceling this future will attempt to cancel all the component futures.
    +function whenAllComplete<T, V>(futures: [future<T>], action: provider<V>) -> future<V>;
    +function whenAllCompleteAsync<T, V>(futures: [future<T>], action: provider<future<V>>) -> future<V>;
    +
    +# Creates a `future` that runs the given provider requiring that all passed in futures are successful. If any input
    +# fails, the returned future fails immediately. Canceling this future will attempt to cancel all the component futures.
    +function whenAllSucceed<T, V>(futures: [future<T>], action: provider<V>) -> future<V>;
    +function whenAllSucceedAsync<T, V>(futures: [future<T>], action: provider<future<V>>) -> future<V>;
    +
    +# Creates a new `future` whose value is a list containing the values of all its successful input futures. The list of
    +# results is in the same order as the input list, and if any of the provided futures Panics or is canceled, its
    +# corresponding position will contain `futures::DID_NOT_SUCCEED`. Canceling this future will attempt to cancel all the
    +# component futures.
    +function successfulAsList<T>(futures: [future<T>]) -> future<[T]>;
    +
    +# Returns a list of delegate futures that correspond to the futures received in the order that they complete. Delegate
    +# futures return the same value as the corresponding input future returns.
    +#
    +# "In the order that they complete" means, for practical purposes, about what you would expect, but there are some
    +# subtleties. First, we do guarantee that, if the output future at index n is done, the output future at index n-1 is
    +# also done. (But as usual with futures, some listeners for future n may complete before some for future n-1.) However,
    +# it is possible, if one input completes with result X and another later with result Y, for Y to come before X in the
    +# output future list. (Such races are impossible to solve without global synchronization of all future completions. And
    +# they should have little practical impact.)
    +#
    +# Cancelling a delegate future propagates to input futures once all the delegates complete, either from cancellation or
    +# because an input future has completed. If N futures are passed in, and M delegates are cancelled, the remaining M
    +# input futures will be cancelled once N - M of the input futures complete. If all the delegates are cancelled, all the
    +# input futures will be too.
    +function inCompletionOrder<T>(futures: [future<T>]) -> [future<T>];
    +
    +# Schedules action on given delay on the default single-threaded scheduled executor service (separate from the default
    +# multi-threaded graph executor service). Actions scheduled via this function will be executed in FIFO order.
    +function schedule<T>(action: provider<T>, delay: duration::Duration) -> future<T>;
    +function scheduleAsync<T>(action: provider<future<T>>, delay: duration::Duration) -> future<T>;
    +
    +# Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with
    +# the given period; that is executions will commence after initialDelay then initialDelay+period, then
    +# initialDelay + 2 * period, and so on.
    +# TODO(steving) Claro really should probably have another procedure type ala "runnable" or "action" or something rather
    +# TODO(steving)   than this somewhat nonsensical consumer<std::Nothing>.
    +function scheduleAtFixedRate(
    +  action: consumer<std::Nothing>, initialDelay: duration::Duration, period: duration::Duration) -> future<std::Nothing>;
    +
    +# Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with
    +# the given delay between the termination of one execution and the commencement of the next.
    +function scheduleWithFixedDelay(
    +  action: consumer<std::Nothing>, initialDelay: duration::Duration, delay: duration::Duration) -> future<std::Nothing>;
    +
    +
    +

    fp

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +function map<A, B>(l: [A], fn: function<A -> B>) -> [B];
    +function filter<A>(l: [A], pred: function<A -> boolean>) -> [A];
    +function reduce<A, B>(l: [A], fn: function<|B, A| -> B>, accum: B) -> B;
    +
    +
    +

    ints

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    static MAX_VALUE: int;
    +static MIN_VALUE: int;
    +
    +newtype InvalidNumberFormat : struct { msg: string }
    +
    +function parseInt(s: string) -> oneof<int, std::Error<InvalidNumberFormat>>;
    +
    +

    lists

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # This module simply provides access to the functionality described in:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
    +# The signatures found here in this module are not a 1:1 match with the signatures in their Java equivalents, however,
    +# as all error cases have been intentionally modelled as proper return values wrapped in std::Error<...>. In this way,
    +# interacting with any procedures defined in this module will be inherently safe.
    +
    +# TODO(steving) Claro needs some sort of Collection<T> contract or something so that duplicated procedures aren't needed
    +# TODO(steving)     for mut/immut cases.
    +
    +# TODO(steving) If at all possible, ClaroList.java should be refactored so that it *contains* a List rather than extends
    +# TODO(steving)     ArrayList directly so that functionality directly from Guava's Lists class can be directly added to
    +# TODO(steving)     this module w/o losing the performance wins of their "views".
    +# TODO(steving)   - https://guava.dev/releases/23.0/api/docs/com/google/common/collect/Lists.html
    +
    +newtype IndexOutOfBounds : struct {index: int, size: int}
    +newtype IndicesOutOfOrder : struct {invalidLowerBound: int, invalidUpperBound: int}
    +newtype InvalidCapacity : int
    +newtype ElementNotFound<T> : T
    +
    +# Appends the specified element to the end of this list.
    +consumer add<T>(l: mut [T], toAdd: T);
    +
    +# Appends all of the elements in the second list to the end of the first list, in the order they appear in the second.
    +# The behavior of this call is undefined if both args reference the same non-empty list.
    +#
    +# Returns: `true` if this list changed as a result of the call, else `false`.
    +function addAll<T>(l: mut [T], toAdd: [T]) -> boolean;
    +function addAllFromMut<T>(l: mut [T], toAdd: mut [T]) -> boolean;
    +
    +# Removes all of the elements from this list. The list will be empty after this call returns.
    +consumer clear<T>(l: mut [T]);
    +
    +# Returns: true if this list contains the specified element, else `false`.
    +function contains<T>(l: [T], elem: T) -> boolean;
    +function containsInMut<T>(l: mut [T], elem: T) -> boolean;
    +
    +# Returns: true if this list contains all of the elements of the specified collection, else `false`.
    +function containsAll<T>(l: [T], elems: [T]) -> boolean;
    +function containsAllFromMut<T>(l: [T], elems: mut [T]) -> boolean;
    +function containsAllInMut<T>(l: mut [T], elems: [T]) -> boolean;
    +function containsAllInMutFromMut<T>(l: mut [T], elems: mut [T]) -> boolean;
    +
    +# Increases the capacity of this list instance, if necessary, to ensure that it can hold at least the number of elements
    +# specified by the minimum capacity argument.
    +consumer ensureCapacity<T>(l: mut [T], minCapacity: int);
    +
    +# Performs the given action for each element.
    +consumer forEach<T>(l: [T], action: consumer<T>);
    +consumer forEachInMut<T>(l: mut [T], action: consumer<T>);
    +
    +# Returns the element at the specified position in this list. This is a bounds-checked alternative to directly accessing
    +# via the unsafe `[]` which may result in a runtime Panic.
    +function getAt<T>(l: [T], index: int) -> oneof<T, std::Error<IndexOutOfBounds>>;
    +function getAtInMut<T>(l: mut [T], index: int) -> oneof<T, std::Error<IndexOutOfBounds>>;
    +
    +# Returns: the index of the first occurrence of the specified element in this list, or -1 if this list does not contain
    +#          the element.
    +function indexOf<T>(l: [T], t: T) -> oneof<int, std::Error<ElementNotFound<T>>>;
    +function indexOfInMut<T>(l: mut [T], t: T) -> oneof<int, std::Error<ElementNotFound<T>>>;
    +
    +# Inserts all of the elements in the second list into the first list, starting at the specified position. Shifts the
    +# element currently at that position (if any) and any subsequent elements to the right (increases their indices). The
    +# new elements will appear in the first list in the order that they occur in the second list.
    +#
    +# Returns: `true` if this list changed as a result of the call, else `false`.
    +function insertAllAt<T>(l: mut [T], index: int, elems: [T]) -> oneof<boolean, std::Error<IndexOutOfBounds>>;
    +function insertAllAtFromMut<T>(l: mut [T], index: int, elems: mut [T]) -> oneof<boolean, std::Error<IndexOutOfBounds>>;
    +
    +# Inserts the specified element at the specified position in this list. Shifts the element currently at that position
    +# (if any) and any subsequent elements to the right (adds one to their indices).
    +function insertAt<T>(l: mut [T], index: int, t: T) -> oneof<std::OK, std::Error<IndexOutOfBounds>>;
    +
    +# Returns: `true` if this list contains no elements, else `false`.
    +function isEmpty<T>(l: [T]) -> boolean;
    +function isEmptyInMut<T>(l: mut [T]) -> boolean;
    +
    +# Returns: the index of the last occurrence of the specified element in this list, or -1 if this list does not contain
    +#          the element.
    +function lastIndexOf<T>(l: [T], t: T) -> oneof<int, std::Error<ElementNotFound<T>>>;
    +function lastIndexOfInMut<T>(l: mut [T], t: T) -> oneof<int, std::Error<ElementNotFound<T>>>;
    +
    +# Removes from this list all of its elements that are contained in the specified collection.
    +#
    +# Returns: `true` if this list changed as a result of the call, else `false`.
    +function removeAll<T>(l: mut [T], toRemove: [T]) -> boolean;
    +function removeAllFromMut<T>(l: mut [T], toRemove: mut [T]) -> boolean;
    +
    +# TODO(steving) Drop `remove()` as builtin token from lexer/parser so that this isn't duplicated.
    +# Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one
    +# from their indices).
    +#
    +# Returns: the element that was removed from the list.
    +function removeAt<T>(l: mut [T], index: int) -> oneof<T, std::Error<IndexOutOfBounds>>;
    +
    +# Removes the first occurrence of the specified element from this list, if it is present. If the list does not contain
    +# the element, it is unchanged.
    +#
    +# Returns: `true` if this list contained the specified element, else `false`.
    +function removeFirst<T>(l: mut [T], t: T) -> boolean;
    +
    +# Removes all of the elements of this list that satisfy the given predicate.
    +#
    +# Returns: `true` if any elements were removed, else `false`.
    +function removeIf<T>(l: mut [T], pred: function<T -> boolean>) -> boolean;
    +
    +# Replaces each element of this list with the result of applying the operator to that element.
    +consumer replaceAll<T>(l: mut [T], operator: function<T -> T>);
    +
    +# Retains only the elements in the first list that are contained in the second list. In other words, removes from the
    +# first list all of its elements that are not contained in the second list.
    +#
    +# Returns: `true` if this list changed as a result of the call, else `false`.
    +function retainAll<T>(l: mut [T], toRetain: [T]) -> boolean;
    +function retainAllFromMut<T>(l: mut [T], toRetain: mut [T]) -> boolean;
    +
    +# Replaces the element at the specified position in this list with the specified element. This is a bounds-checked
    +# alternative to directly setting via the unsafe `l[index] = ...` which may result in a runtime Panic.
    +function setAt<T>(l: mut [T], index: int, t: T) -> oneof<T, std::Error<IndexOutOfBounds>>;
    +
    +# Sorts this list according to the order induced by the specified comparator.
    +# For detailed explanation of "comparators", see: https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html
    +consumer sort<T>(l: mut [T], comparator: function<|T, T| -> int>);
    +
    +# Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If
    +# `fromInclusive` and `toExclusive` are equal, the returned list is empty.)
    +function subList<T>(l: [T], fromInclusive: int, toExclusive: int)
    +    -> oneof<[T], std::Error<IndexOutOfBounds>, std::Error<IndicesOutOfOrder>>;
    +# TODO(steving) If at all possible, ClaroList.java should be refactored so that it *contains* a List rather than extends
    +# TODO(steving)     ArrayList directly so that subListOfMut() can return a proper "view".
    +# TODO(steving)   - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#addAll-int-java.util.Collection-:~:text=This%20method%20eliminates,from%2C%20to).clear()%3B
    +function subListOfMut<T>(l: mut [T], fromInclusive: int, toExclusive: int)
    +    -> oneof<mut [T], std::Error<IndexOutOfBounds>, std::Error<IndicesOutOfOrder>>;
    +
    +# Trims the capacity of this list instance to be the list's current size. An application can use this operation to
    +# minimize the storage of a list instance.
    +consumer trimToSize<T>(l: mut [T]);
    +
    +# Constructs an empty list with the specified initial capacity.
    +function withInitialCapacity<T>(capacity: int) -> oneof<mut [T], std::Error<InvalidCapacity>>;
    +
    +
    +

    longs

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +newtype InvalidNumberFormat : struct { msg: string }
    +
    +static MAX_VALUE: long;
    +static MIN_VALUE: long;
    +
    +function parseLong(s: string) -> oneof<long, std::Error<InvalidNumberFormat>>;
    +
    +

    maps

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # This module simply provides access to the functionality described in:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
    +# The signatures found here in this module are not a 1:1 match with the signatures in their Java equivalents, however,
    +# as all error cases have been intentionally modelled as proper return values wrapped in std::Error<...>. In this way,
    +# interacting with any procedures defined in this module will be inherently safe.
    +
    +# TODO(steving) Claro needs some sort of Map<T> contract or something so that duplicated procedures aren't needed
    +# TODO(steving)     for mut/immut cases.
    +
    +# TODO(steving) If at all possible, ClaroMap.java & ClaroSet.java should be refactored to *contains* a collection rather
    +# TODO(steving)     than extending the Java collections directly so that functionality directly from Guava's Maps
    +# TODO(steving)     class can be directly added to this module w/o losing the performance wins of their "views".
    +# TODO(steving)   - https://guava.dev/releases/22.0/api/docs/com/google/common/collect/Maps.html
    +
    +
    +# Returns true if this map contains no key-value mappings.
    +function isEmpty<K,V>(m: {K:V}) -> boolean;
    +function isEmptyMut<K,V>(m: mut {K:V}) -> boolean;
    +
    +# Returns true if this map maps one or more keys to the specified value. This operation will require time linear in the map size.
    +function containsValue<K,V>(m: {K:V}, v: V) -> boolean;
    +function containsValueInMut<K,V>(m: mut {K:V}, v: V) -> boolean;
    +
    +# 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;
    +function getOrDefaultFromMut<K,V>(m: mut {K:V}, k: K, defaultValue: V) -> V;
    +
    +# Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.
    +consumer clear<K,V>(m: mut {K:V});
    +
    +# Returns an immutable set containing the keys of this map.
    +function keySet<K,V>(m: {K:V}) -> {K};
    +# Returns an immutable set containing the keys of this map. Changes made to the original map *do not* have any affect on
    +# the returned set.
    +function keySetOfMut<K,V>(m: mut {K:V}) -> {K};
    +
    +# Returns a mutable set containing the keys of this map. Changes made to either collection have no affect on the other.
    +function mutKeySet<K,V>(m: {K:V}) -> mut {K};
    +function mutKeySetOfMut<K,V>(m: mut {K:V}) -> mut {K};
    +
    +# TODO(steving) If at all possible, ClaroSet.java should be refactored so that it *contains* a Set rather than extends
    +# TODO(steving)     HashSet<T> directly so that maps::mutKeySetOfMut() can return a proper "view".
    +# TODO(steving)   - https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#clear--:~:text=Returns%20a%20Set%20view%20of%20the%20keys%20contained%20in%20this%20map.%20The%20set%20is%20backed%20by%20the%20map%2C%20so%20changes%20to%20the%20map%20are%20reflected%20in%20the%20set%2C%20and%20vice%2Dversa.
    +#function mutKeySetViewOfMut<K,V>(m: mut {K:V}) -> mut {K};
    +
    +# Returns an immutable set containing the values of this map.
    +function values<K,V>(m: {K:V}) -> {V};
    +# Returns an immutable set containing the values of this map. Changes made to the original map *do not* have any affect on
    +# the returned set.
    +function valuesOfMut<K,V>(m: mut {K:V}) -> {V};
    +
    +# Returns a mutable set containing the values of this map. Changes made to either collection have no affect on the other.
    +function mutValues<K,V>(m: {K:V}) -> mut {V};
    +function mutValuesOfMut<K,V>(m: mut {K:V}) -> mut {V};
    +
    +# Returns an immutable set of the mappings contained in this map.
    +function entrySet<K,V>(m: {K:V}) -> {tuple<K, V>};
    +# Returns an immutable set of the mappings contained in this map. Changes made to the original map *do not* have any
    +# affect on the returned set.
    +function entrySetOfMut<K,V>(m: mut {K:V}) -> {tuple<K, V>};
    +
    +# Returns a mutable set of the mappings contained in this map.
    +function mutEntrySet<K,V>(m: {K:V}) -> mut {tuple<K, V>};
    +# Returns a mutable set of the mappings contained in this map. Changes made to either collection have no affect on the other.
    +function mutEntrySetOfMut<K,V>(m: mut {K:V}) -> mut {tuple<K, V>};
    +
    +# Performs the given action for each entry in this map until all entries have been processed.
    +consumer forEach<K,V>(m: {K:V}, action: consumer<K,V>);
    +consumer forEachInMut<K,V>(m: mut {K:V}, action: consumer<K,V>);
    +
    +# Replaces each entry's value with the result of invoking the given function on that entry until all entries have been
    +# processed.
    +consumer replaceAll<K,V>(m: mut {K:V}, mapper: function<|K, V| -> V>);
    +
    +# Associates the specified value with the specified key in this map. If the map previously contained a mapping for the
    +# key, the old value is replaced by the specified value.
    +#
    +# Returns: the previous value associated with key, or `maps::PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY` if there was no
    +#          mapping for key.
    +atom PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY
    +function put<K,V>(m: mut {K:V}, k: K, v: V) -> oneof<V, PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY>;
    +
    +# Copies all of the mappings from the specified map to this map. The effect of this call is equivalent to that of
    +# calling `maps::put(m, k, v)` on this map once for each mapping from key k to value v in the specified map.
    +consumer putAll<K,V>(m: mut {K:V}, from: {K:V});
    +consumer putAllFromMut<K,V>(m: mut {K:V}, from: mut {K:V});
    +
    +# If the specified key is not already associated with a value, associates it with the given value and returns
    +# `maps::PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY`, else returns the current value.
    +function putIfAbsent<K,V>(m: mut {K:V}, k: K, v: V) -> oneof<V, PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY>;
    +
    +# Removes the mapping for a key from this map if it is present.
    +#
    +# Returns: the value to which this map previously associated the key, or `maps::KeyNotFound<K>` if the map contained no
    +#          mapping for the key.
    +function removeKey<K,V>(m: mut {K:V}, k: K) -> oneof<V, KeyNotFound<K>>;
    +
    +# Removes the entry for the specified key only if it is currently mapped to the specified value.
    +function removeEntry<K,V>(m: mut {K:V}, k: K, v: V) -> boolean;
    +
    +# Replaces the entry for the specified key only if currently mapped to the specified value.
    +#
    +# Returns: `true` if the value was replaced, else `false`.
    +function replaceEntry<K,V>(m: mut {K:V}, k: K, oldValue: V, newValue: V) -> boolean;
    +
    +# Replaces the entry for the specified key only if it is currently mapped to some value.
    +#
    +# Returns: the previous value associated with the specified key, or `std::Error<maps::KeyNotFound<K>>` if there was no
    +#          mapping for the key.
    +newtype KeyNotFound<K> : K
    +function replace<K,V>(m: mut {K:V}, k: K, newValue: V) -> oneof<V, std::Error<KeyNotFound<K>>>;
    +
    +# If the specified key is not already associated with a value, attempts to compute its value using the given mapping
    +# function and enters it into this map, unless the function returns `maps::DoNotUpdate<K>` in which case no mapping is
    +# recorded.
    +#
    +# Returns: the current (existing or computed) value associated with the specified key, or propagates any
    +#          `maps::DoNotUpdate<K>` returned by `mapper`.
    +newtype DoNotUpdate<K> : K
    +function computeIfAbsent<K,V>(
    +  m: mut {K:V},
    +  k: K,
    +  mapper: function<K -> oneof<V, std::Error<DoNotUpdate<K>>>>)
    +    -> oneof<V, std::Error<DoNotUpdate<K>>>;
    +
    +# If the value for the specified key is present, attempts to compute a new mapping given the key and its current mapped
    +# value. If the function returns `maps::REMOVE_ENTRY`, the mapping is removed.
    +#
    +# Returns: the new value associated with the specified key, propagates `maps::REMOVE_ENTRY` if the entry was removed, or
    +#          `maps::KeyNotFound<K>` if the key was not present in the map.
    +atom REMOVE_ENTRY
    +function computeIfPresent<K,V>(
    +  m: mut {K:V},
    +  k: K,
    +  remapper: function<|K, V| -> oneof<V, REMOVE_ENTRY>>)
    +    -> oneof<V, REMOVE_ENTRY, std::Error<KeyNotFound<K>>>;
    +
    +# Attempts to compute a mapping for the specified key and its current mapped value (or `maps::KeyNotFound<K>` if there
    +# is no current mapping). For example, to either create or append a string msg to a value mapping:
    +#
    +#  maps::compute(
    +#     someMap,
    +#     key,
    +#     lambda (k, v) -> {
    +#       if (v instanceof maps::KeyNotFound<K>) {
    +#         return msg;
    +#       }
    +#       return "{v}{msg}";
    +#     }
    +#  );
    +#  (Method merge() is often simpler to use for such purposes.)
    +#
    +# If the function returns `maps::REMOVE_ENTRY`, the mapping is removed (or remains absent if initially absent).
    +#
    +# Returns: the new value associated with the specified key, or propagates `maps::REMOVE_ENTRY` if the entry was removed.
    +function compute<K,V>(
    +  m: mut {K:V},
    +  k: K,
    +  remapper: function<|K, oneof<V, KeyNotFound<K>>| -> oneof<V, REMOVE_ENTRY>>)
    +    -> oneof<V, REMOVE_ENTRY>;
    +
    +# If the specified key is not already associated with a value, associates it with the given value. Otherwise, replaces
    +# the associated value with the results of the given remapping function, or removes if the result is
    +# `maps::REMOVE_ENTRY`. This method may be of use when combining multiple mapped values for a key. For example, to
    +# either create or append a String msg to a value mapping:
    +#
    +#   maps::merge(someMap, key, msg, lambda (oldVal, newVal) -> {
    +#     match (newVal) {
    +#       case _:maps::REMOVE_ENTRY -> return newVal;
    +#       case _                    -> return "{oldVal}{newVal}";
    +#     }
    +#   });
    +#
    +# Returns: the new value associated with the specified key, or propagates `std::REMOVE_ENTRY` if the entry was removed.
    +function merge<K,V>(
    +  m: mut {K:V},
    +  k: K,
    +  v: oneof<V, REMOVE_ENTRY>,
    +  remapper: function<|V, oneof<V, REMOVE_ENTRY>| -> oneof<V, REMOVE_ENTRY>>)
    +    -> oneof<V, REMOVE_ENTRY>;
    +
    +

    math

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +function absInt(i: int) -> int;
    +function absDouble(d: double) -> double;
    +function absFloat(f: float) -> float;
    +
    +function ceiling(d: double) -> double;
    +function ceilingFloat(f: float) -> float;
    +
    +function floor(d: double) -> double;
    +function floorFloat(f: float) -> float;
    +
    +function maxInt(a: int, b: int) -> int;
    +function maxDouble(a: double, b: double) -> double;
    +function maxFloat(a: float, b: float) -> float;
    +
    +function minInt(a: int, b: int) -> int;
    +function minDouble(a: double, b: double) -> double;
    +function minFloat(a: float, b: float) -> float;
    +
    +function roundDownToInt(d: double) -> int;
    +function roundUpToInt(d: double) -> int;
    +function roundFloatDownToInt(f: float) -> int;
    +function roundFloatUpToInt(f: float) -> int;
    +
    +function sqrt(d: double) -> double;
    +function sqrtFloat(f: float) -> float;
    +
    +

    priority_queue

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +opaque newtype mut PriorityQueue<E>
    +
    +atom NO_SUCH_ELEMENT
    +
    +provider create<T>() -> PriorityQueue<T>;
    +function of<T>(elems: [T]) -> PriorityQueue<T>;
    +function withInitialCapacity<T>(initialCapacity: int) -> PriorityQueue<T>;
    +
    +function peek<T>(pq: PriorityQueue<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function poll<T>(pq: PriorityQueue<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +consumer add<T>(pq: PriorityQueue<T>, t: T);
    +
    +function removeElement<T>(pq: PriorityQueue<T>, t: T) -> boolean;
    +
    +function size<T>(pq: PriorityQueue<T>) -> int;
    +
    +

    random

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +opaque newtype RandomNumberGenerator
    +
    +# See: https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#random--
    +provider doubleInUnitInterval() -> double;
    +
    +provider create() -> RandomNumberGenerator;
    +# TODO(steving) Update this to take a `long` once supported.
    +function forSeed(seed: int) -> RandomNumberGenerator;
    +
    +function nextBoolean(rng: RandomNumberGenerator) -> boolean;
    +function nextDouble(rng: RandomNumberGenerator) -> double;
    +function nextFloat(rng: RandomNumberGenerator) -> float;
    +function nextInt(rng: RandomNumberGenerator) -> int;
    +function nextNonNegativeBoundedInt(rng: RandomNumberGenerator, exclusiveUpperBound: int) -> int;
    +
    +
    +
    +

    scanner

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +# Not thread safe.
    +opaque newtype mut Scanner
    +
    +atom NO_MORE_TOKENS
    +atom PATTERN_NOT_FOUND
    +atom ILLEGAL_NEGATIVE_HORIZON
    +atom INPUT_MISMATCH
    +
    +provider forStdIn() -> Scanner;
    +function forString(toScan: string) -> Scanner;
    +
    +function useDelimiter(sc: Scanner, pattern: string) -> Scanner;
    +function reset(sc: Scanner) -> Scanner;
    +
    +blocking function findInLine(sc: Scanner, pattern: string) -> oneof<string, PATTERN_NOT_FOUND>;
    +blocking function findWithinHorizon(sc: Scanner, pattern: string, horizon: int)
    +    -> oneof<string, PATTERN_NOT_FOUND, ILLEGAL_NEGATIVE_HORIZON>;
    +
    +blocking function hasNextToken(sc: Scanner) -> boolean;
    +blocking function hasNextPattern(sc: Scanner, pattern: string) -> boolean;
    +blocking function hasNextBoolean(sc: Scanner) -> boolean;
    +blocking function hasNextFloat(sc: Scanner) -> boolean;
    +blocking function hasNextInt(sc: Scanner) -> boolean;
    +blocking function hasNextLine(sc: Scanner) -> boolean;
    +
    +blocking function nextToken(sc: Scanner) -> oneof<string, NO_MORE_TOKENS>;
    +blocking function nextMatch(sc: Scanner, pattern: string) -> oneof<string, NO_MORE_TOKENS>;
    +blocking function nextBoolean(sc: Scanner) -> oneof<boolean, INPUT_MISMATCH, NO_MORE_TOKENS>;
    +blocking function nextFloat(sc: Scanner) -> oneof<float, INPUT_MISMATCH, NO_MORE_TOKENS>;
    +blocking function nextInt(sc: Scanner) -> oneof<int, INPUT_MISMATCH, NO_MORE_TOKENS>;
    +blocking function nextLine(sc: Scanner) -> oneof<string, INPUT_MISMATCH, NO_MORE_TOKENS>;
    +
    +blocking function skipPattern(sc: Scanner, pattern: string)
    +    -> struct { scanner: Scanner, res: oneof<std::OK, PATTERN_NOT_FOUND> };
    +
    +

    sets

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # This module simply provides access to the functionality described in:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/util/Set.html
    +
    +# TODO(steving) Claro needs some sort of Collection<T> contract so that these procedures can avoid duplication for the
    +# TODO(steving)     various combinations of mutability annotations.
    +
    +# TODO(steving) If at all possible, ClaroSet.java should be refactored so that it *contains* a Set rather than extends
    +# TODO(steving)     HashSet directly so that functionality directly from Guava's Sets class can be directly added to
    +# TODO(steving)     this module w/o losing the performance wins of their "views".
    +# TODO(steving)   - https://guava.dev/releases/23.0/api/docs/com/google/common/collect/Sets.html
    +
    +
    +provider emptySet<T>() -> {T};
    +provider emptyMutSet<T>() -> mut {T};
    +
    +# 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;
    +
    +# Adds all of the elements in the specified collection to this set if they're not already present.
    +#
    +# Returns: true if the set changed as a result of the call.
    +function addAllFromList<T>(s: mut {T}, toAdd: [T]) -> boolean;
    +function addAllFromMutList<T>(s: mut {T}, toAdd: mut [T]) -> boolean;
    +# Adds all of the elements in the second set to the first set if they're not already present. This operation effectively
    +# modifies the first set so that its value is the union of the two sets.
    +#
    +# Returns: true if the first set changed as a result of the call.
    +function addAllFromSet<T>(s: mut {T}, toAdd: {T}) -> boolean;
    +function addAllFromMutSet<T>(s: mut {T}, toAdd: mut {T}) -> boolean;
    +
    +# Removes all of the elements from this set. The set will be empty after this call returns.
    +consumer clear<T>(s: mut {T});
    +
    +# Returns true if this set contains all of the elements of the specified collection.
    +function containsAll<T>(s: {T}, elems: [T]) -> boolean;
    +function containsAllFromMut<T>(s: {T}, elems: mut [T]) -> boolean;
    +function containsAllInMut<T>(s: mut {T}, elems: [T]) -> boolean;
    +function containsAllInMutFromMut<T>(s: mut {T}, elems: mut [T]) -> boolean;
    +
    +# Performs the given action for each element.
    +consumer forEach<T>(s: {T}, action: consumer<T>);
    +consumer forEachInMut<T>(s: mut {T}, action: consumer<T>);
    +
    +# This method returns true if the first set is a superset of the second set. Note, this procedure returns true if the
    +# two sets are equal.
    +function isSuperset<T>(s: {T}, other: {T}) -> boolean;
    +function isSupersetOfMut<T>(s: {T}, other: mut {T}) -> boolean;
    +function isMutSuperset<T>(s: mut {T}, other: {T}) -> boolean;
    +function isMutSupersetOfMut<T>(s: mut {T}, other: mut {T}) -> boolean;
    +
    +# This method returns true if the first set is a subset of the second set. Note, this procedure returns true if the two
    +# sets are equal.
    +function isSubset<T>(s: {T}, other: {T}) -> boolean;
    +function isSubsetOfMut<T>(s: {T}, other: mut {T}) -> boolean;
    +function isMutSubset<T>(s: mut {T}, other: {T}) -> boolean;
    +function isMutSubsetOfMut<T>(s: mut {T}, other: mut {T}) -> boolean;
    +
    +# Returns true if this set contains no elements.
    +function isEmpty<T>(s: {T}) -> boolean;
    +function isEmptyForMut<T>(s: mut {T}) -> boolean;
    +
    +# Removes the specified element from this set if it is present.
    +function removeElem<T>(s: mut {T}, elem: T) -> boolean;
    +
    +# Removes from this set all of its elements that are contained in the specified list.
    +#
    +# Returns: true if this set changed as a result of the call.
    +function removeAll<T>(s: mut {T}, elems: [T]) -> boolean;
    +function removeAllFromMut<T>(s: mut {T}, elems: mut [T]) -> boolean;
    +# Removes from the first set all of its elements that are contained in the second set. This operation effectively
    +# modifies the first set so that its value is the asymmetric set difference of the two sets.
    +#
    +# Returns: true if this set changed as a result of the call.
    +function removeAllFromSet<T>(s: mut {T}, elems: {T}) -> boolean;
    +function removeAllFromMutSet<T>(s: mut {T}, elems: mut {T}) -> boolean;
    +
    +# Removes all of the elements of this collection that satisfy the given predicate.
    +#
    +# Returns: true if any elements were removed.
    +function removeIf<T>(s: mut {T}, predicate: function<T -> boolean>) -> boolean;
    +
    +# Retains only the elements in this set that are contained in the specified list. In other words, removes from this set
    +# all of its elements that are not contained in the specified list.
    +#
    +# Returns: true if this set changed as a result of the call.
    +function retainAll<T>(s: mut {T}, elems: [T]) -> boolean;
    +function retainAllFromMut<T>(s: mut {T}, elems: mut [T]) -> boolean;
    +# Retains only the elements in the first set that are contained in the second set. In other words, removes from the
    +# first set all of its elements that are not contained in the second set. This operation effectively modifies this set
    +# so that its value is the intersection of the two sets.
    +#
    +# Returns: true if this set changed as a result of the call.
    +function retainAllFromSet<T>(s: mut {T}, elems: {T}) -> boolean;
    +function retainAllFromMutSet<T>(s: mut {T}, elems: mut {T}) -> boolean;
    +
    +
    +

    std

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    ########################################################################################################################
    +# This file contains simple definitions of builtin types that come as part of Claro's stdlib. Very likely this will get
    +# reorganized over time, for now it's a single centralized dumping ground.
    +########################################################################################################################
    +
    +atom Nothing
    +
    +atom OK
    +newtype Error<T> : T
    +
    +newtype ParsedJson<T> : struct {
    +  result: oneof<T, Error<string>>,
    +  rawJson: string
    +}
    +
    +

    strings

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # Simply exposing the functionality documented at the links below to Claro programs:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
    +#   - https://guava.dev/releases/31.1-jre/api/docs/com/google/common/base/Strings.html
    +# TODO(steving) Make this api safe so that nothing can throw a runtime exception.
    +
    +atom NOT_FOUND
    +
    +function fromChar(c: char) -> string;
    +
    +function charAt(s: string, i: int) -> char;
    +
    +function commonPrefix(s: string, other: string) -> string;
    +function commonSuffix(s: string, other: string) -> string;
    +
    +function compareTo(s: string, other: string) -> int;
    +function compareToIgnoreCase(s: string, other: string) -> int;
    +
    +function concat(s: string, other: string) -> string;
    +
    +function contains(s: string, other: string) -> boolean;
    +
    +function endsWith(s: string, other: string) -> boolean;
    +
    +function equalsIgnoreCase(s: string, other: string) -> boolean;
    +
    +function indexOf(s: string, of: string) -> oneof<int, NOT_FOUND>;
    +function indexOfFromIndex(s: string, of: string, from: int) -> oneof<int, NOT_FOUND>;
    +
    +function isEmpty(s: string) -> boolean;
    +
    +function join(delimiter: string, parts: [string]) -> string;
    +
    +function lastIndexOf(s: string, of: string) -> oneof<int, NOT_FOUND>;
    +function lastIndexOfFromIndex(s: string, of: string, from: int) -> oneof<int, NOT_FOUND>;
    +
    +function matches(s: string, regex: string) -> boolean;
    +
    +# TODO(steving) Revisit this once Claro has support for chars. Should support configurable padding char.
    +function padEnd(s: string, minLength: int) -> string;
    +function padStart(s: string, minLength: int) -> string;
    +
    +function regionMatches(s: string, s_offset: int, other: string, o_offset: int, regionLen: int) -> boolean;
    +function regionMatchesIgnoreCase(ignoreCase: boolean, s: string, s_offset: int, other: string, o_offset: int, regionLen: int) -> boolean;
    +
    +function repeated(s: string, count: int) -> string;
    +
    +function replace(s: string, target: string, replacement: string) -> string;
    +function replaceAll(s: string, regex: string, replacement: string) -> string;
    +function replaceFirst(s: string, regex: string, replacement: string) -> string;
    +
    +function split(s: string, regex: string) -> [string];
    +function splitWithLimit(s: string, regex: string, limit: int) -> [string];
    +function splitChars(s: string) -> [char];
    +
    +function startsWith(s: string, other: string) -> boolean;
    +function startsWithFromIndex(s: string, other: string, from: int) -> boolean;
    +
    +function substring(s: string, beginInclusive: int, endExclusive: int) -> string;
    +function suffix(s: string, beginInclusive: int) -> string;
    +
    +function toLowerCase(s: string) -> string;
    +function toUpperCase(s: string) -> string;
    +
    +function trim(s: string) -> string;
    +
    +

    string_builder

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +opaque newtype StringBuilder
    +
    +provider create() -> StringBuilder;
    +
    +# Add anything to the end of the StringBuilder. It will be converted to its string representation automatically.
    +function add<T>(sb: StringBuilder, toAdd: T) -> StringBuilder;
    +function build(sb: StringBuilder) -> string;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/procedures.html b/procedures.html new file mode 100644 index 00000000..f4ef3932 --- /dev/null +++ b/procedures.html @@ -0,0 +1,241 @@ + + + + + + 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..34b8d1e4 --- /dev/null +++ b/procedures/consumers/consumers.generated_docs.html @@ -0,0 +1,255 @@ + + + + + + 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..15a7cd1e --- /dev/null +++ b/procedures/functions/functions.generated_docs.html @@ -0,0 +1,246 @@ + + + + + + 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..153cbb0c --- /dev/null +++ b/procedures/providers/providers.generated_docs.html @@ -0,0 +1,246 @@ + + + + + + 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/resource_files/BUILD b/resource_files/BUILD new file mode 100644 index 00000000..8c270e68 --- /dev/null +++ b/resource_files/BUILD @@ -0,0 +1,17 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "resource_files", + doc_template = "resource_files.tmpl.md", + examples = [ + { + "example": "ex_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + { + "example": "ex1.claro", + "resources": {"MyResource": "example_resource.txt"}, + } + ], +) diff --git a/resource_files/ex1.claro b/resource_files/ex1.claro new file mode 100644 index 00000000..0e5fadf0 --- /dev/null +++ b/resource_files/ex1.claro @@ -0,0 +1,3 @@ +resources::MyResource + |> files::readOrPanic(^) + |> print("Resource File Content:\n\n{^}"); \ No newline at end of file diff --git a/resource_files/ex_BUILD b/resource_files/ex_BUILD new file mode 100644 index 00000000..dea3f419 --- /dev/null +++ b/resource_files/ex_BUILD @@ -0,0 +1,9 @@ +load("//@claro-lang:rules.bzl", "claro_binary") + +claro_binary( + name = "example", + main_file = "ex1.claro", + resources = { + "MyReource": "example_resource.txt", + } +) \ No newline at end of file diff --git a/resource_files/example_resource.txt b/resource_files/example_resource.txt new file mode 100644 index 00000000..80a068f1 --- /dev/null +++ b/resource_files/example_resource.txt @@ -0,0 +1,4 @@ +this is just +some arbitrary text +in a file +to use as an example \ No newline at end of file diff --git a/resource_files/resource_files.generated_docs.html b/resource_files/resource_files.generated_docs.html new file mode 100644 index 00000000..57353daf --- /dev/null +++ b/resource_files/resource_files.generated_docs.html @@ -0,0 +1,277 @@ + + + + + + Resource Files - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Resource Files

    +

    Strangely, bundling files into builds to be read at runtime regardless of where the executable program gets moved and +run from can be a significant pain point in many languages. Of course, each language provides some mechanism to address +this concern, but it typically requires either learning about some external build system feature, or figuring out how to +pass the correct sequence of flags to compilers. And then even once you do, figuring out the correct incantation to +successfully read that resource file can be just as frustrating +(looking at you Java).

    +

    Claro tries to make this much simpler by directly modelling Resource Files as part of the exposed claro_binary() and +claro_module() build rules that you'll be using already. Declaring a Resource File to be bundled into the final deploy +Jar is as simple as listing it in your Build target similarly to how a Module dependency would be declared:

    +

    Fig 1:

    +
    +
    load("//@claro-lang:rules.bzl", "claro_binary")
    +
    +claro_binary(
    +    name = "example",
    +    main_file = "ex1.claro",
    +    resources = {
    +        "MyReource": "example_resource.txt",
    +    }
    +)
    +
    +
    +

    The Build target above has an explicit build time dependency on a Resource File named example_resource.txt. As you've +by now come to expect, if the file is missing for some reason Bazel will raise a Build error letting you know. You won't +simply have to try running your program and go through a whole debugging process just to find out 5 minutes later that +you misspelled the file name.

    +

    Now, your program has access to the Resource File MyResource by using the auto-generated resources::MyResource +static value. It can then be read using one of the available functions exported by the StdLib's +files Module:

    +

    Fig 2:

    +
    +
    resources::MyResource
    +  |> files::readOrPanic(^)
    +  |> print("Resource File Content:\n\n{^}");
    +
    +

    Output:

    +
    Resource File Content:
    +
    +this is just
    +some arbitrary text
    +in a file
    +to use as an example
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + 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..b45c48ee --- /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","common_programming_concepts/string_formatting/string_formatting.generated_docs.html#string-formatting","common_programming_concepts/string_formatting/string_formatting.generated_docs.html#escaping-curly-braces-in-strings","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","error_handling/error_handling.generated_docs.html#error-handling","error_handling/error_handling.generated_docs.html#stderror","error_handling/error_propagation/error_propagation.generated_docs.html#error-propagation-via--operator","error_handling/error_propagation/error_propagation.generated_docs.html#-operator-drops-all-error-cases","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#static-enforcement-of-requires-clauses","generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html#a-note-on-static-dispatch-via-monomorphization","generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html#contracts-with-multiple-type-params","generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html#calling-a-contract-procedure-over-multiple-type-params","generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html#limitation-of-the-above-contract-definition","generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html#advanced-implied-types","generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html#statically-preventing-ambiguous-contract-definitions-with-implied-types","generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html#deciding-whether-to-use-implied-types-to-constrain-a-contracts-implementations-is-a-judgement-call","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#dynamic-dispatch","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#tldr","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#by-comparison-to-object-oriented-programming","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#using-an-interface-type-as-a-procedure-arg--in-an-oop-language-","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#requiring-a-contract-to-be-implemented-over-generic-type-params-in-claro","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#a-not-so-brief-aside-on-the-limitations-of-subtyping","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#values-of-unknown-type","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#dynamic-dispatch-is-rare","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","resource_files/resource_files.generated_docs.html#resource-files","module_system/module_system.generated_docs.html#module-system","module_system/module_system.generated_docs.html#defining-a-module","module_system/module_system.generated_docs.html#api","module_system/module_system.generated_docs.html#sources","module_system/module_system.generated_docs.html#dependencies","module_system/module_system.generated_docs.html#defining-build-target","module_system/module_system.generated_docs.html#building-a-module","module_system/module_system.generated_docs.html#executable-using-above-example-module","module_system/module_apis/module_apis.generated_docs.html#module-apis","module_system/module_apis/procedure_signatures/procedure_signatures.generated_docs.html#procedure-signatures","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#type--alias-definitions","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#exporting-type-definitions","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#exporting-atoms","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#exporting-aliases","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#modules-exporting--only--typesaliases-dont-require-any-claro-source-files","module_system/module_apis/type_definitions/initializers_and_unwrappers/initializers_and_unwrappers.generated_docs.html#initializers--unwrappers","module_system/module_apis/type_definitions/initializers_and_unwrappers/initializers_and_unwrappers.generated_docs.html#initializers","module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/unwrappers.generated_docs.html#unwrappers","module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/unwrappers.generated_docs.html#recommended-use-of-unwrappers-and-initializers","module_system/module_apis/type_definitions/opaque_types/opaque_types.generated_docs.html#opaque-types","module_system/module_apis/static_values/static_values.generated_docs.html#static-values","module_system/module_apis/static_values/static_values.generated_docs.html#static-values-must-be-deeply-immutable","module_system/module_apis/static_values/static_values.generated_docs.html#initialization-order","module_system/module_apis/static_values/static_values.generated_docs.html#lazy-static-values","module_system/module_apis/static_values/static_values.generated_docs.html#static-value-providers-may-depend-on-other-static-values","module_system/module_apis/flags/flags.generated_docs.html#flags","module_system/module_apis/flags/flags.generated_docs.html#setting-a-flag-value-on-the-command-line","module_system/module_apis/flags/flags.generated_docs.html#passing-flags-to-programs-executed-via-bazel-run-","module_system/module_apis/flags/flags.generated_docs.html#passing-flags-to-deploy-jar","module_system/module_apis/flags/flags.generated_docs.html#deriving-static-values-from-flags","module_system/module_apis/flags/flags.generated_docs.html#supported-flag-types","module_system/module_apis/http_services/http_services.generated_docs.html#http-services","module_system/visibility/visibility.generated_docs.html#visibility","module_system/visibility/visibility.generated_docs.html#private-visibility","module_system/visibility/visibility.generated_docs.html#target-visibility","module_system/visibility/visibility.generated_docs.html#package-visibility","module_system/visibility/visibility.generated_docs.html#subpackages-visibility","module_system/visibility/visibility.generated_docs.html#public-visibility-discouraged","module_system/swapping_deps/swapping_deps.generated_docs.html#swapping-dependencies","module_system/swapping_deps/swapping_deps.generated_docs.html#dep-validity-is-based-on-usage","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","fearless_concurrency/fearless_concurrency.html#fearless-concurrency","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#guaranteed-data-race-free-concurrency","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#thread-local-data-can-be-mutated-at-will","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#all-graph-procedure-args-must-be-deeply-immutable","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#all-graph-procedure-node-outputs-must-be-deeply-immutable","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#lambdas-cannot-capture-mutable-data","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#thread-safe-mutable-data-structures-blessed-by-the-stdlib","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#important--this-is-restricted-to-the-stdlib","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","http_servers/http_servers.generated_docs.html#basic-http-servers","http_servers/http_servers.generated_docs.html#http-service-definition","http_servers/http_servers.generated_docs.html#auto-generated-httpserver","http_servers/http_servers.generated_docs.html#implementing-endpoint-handlers","http_servers/http_servers.generated_docs.html#starting-an-httpserver","json_parsing/json_parsing.generated_docs.html#json-parsing","json_parsing/json_parsing.generated_docs.html#limitations","metaprogramming/metaprogramming.generated_docs.html#build-time-metaprogramming","metaprogramming/metaprogramming.generated_docs.html#build-vs-compile-phases","metaprogramming/templating/templating.generated_docs.html#source-code-templates","metaprogramming/templating/templating.generated_docs.html#expand_template-macro","metaprogramming/templating/templating.generated_docs.html#aside-claros-entire-docs-site-is-generated-at-build-time-using-this-templating-approach","metaprogramming/code_reuse/code_reuse.generated_docs.html#literal-code-reuse","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#reusing-module-apis","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#multiple-implementations-of-a-module-api","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#going-deeper","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#expressing-the-above-build-targets-more-concisely","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#using-list-comprehension-to-define-multiple-similar-targets-at-once","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#declaring-a-macro-in-a-bzl-file-to-make-this-factored-out-build-logic-portable","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#swapping-dependencies-at-build-time-based-on-build-flags","metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html#reusing-source-code","metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html#claro_module-accepts-multiple-srcs","metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html#inheritance---inverting-the-prior-example","metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html#further-flexibility","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#abstract-modules","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#limitations-of-the-approach-in-the-prior-sections","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#abstracting-away-the-abstract-module-pattern-itself","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#override-flexibility","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#additional-knobs--implementation-details","stdlib/default_modules/default_modules.generated_docs.html#default-modules","stdlib/default_modules/default_modules.generated_docs.html#the-stdlib-is-a-wip---recommendations-are-welcome","stdlib/booleans_module.generated_docs.html#booleans","stdlib/deque_module.generated_docs.html#deque","stdlib/doubles_module.generated_docs.html#doubles","stdlib/files_module.generated_docs.html#files","stdlib/floats_module.generated_docs.html#floats","stdlib/futures_module.generated_docs.html#futures","stdlib/fp_module.generated_docs.html#fp","stdlib/ints_module.generated_docs.html#ints","stdlib/lists_module.generated_docs.html#lists","stdlib/longs_module.generated_docs.html#longs","stdlib/maps_module.generated_docs.html#maps","stdlib/math_module.generated_docs.html#math","stdlib/priority_queue_module.generated_docs.html#priority_queue","stdlib/random_module.generated_docs.html#random","stdlib/scanner_module.generated_docs.html#scanner","stdlib/sets_module.generated_docs.html#sets","stdlib/std_module.generated_docs.html#std","stdlib/strings_module.generated_docs.html#strings","stdlib/string_builder_module.generated_docs.html#string_builder"],"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":9,"breadcrumbs":5,"title":1},"101":{"body":154,"breadcrumbs":8,"title":4},"102":{"body":121,"breadcrumbs":7,"title":3},"103":{"body":126,"breadcrumbs":6,"title":2},"104":{"body":29,"breadcrumbs":5,"title":1},"105":{"body":27,"breadcrumbs":6,"title":2},"106":{"body":60,"breadcrumbs":6,"title":2},"107":{"body":81,"breadcrumbs":3,"title":1},"108":{"body":127,"breadcrumbs":8,"title":6},"109":{"body":136,"breadcrumbs":8,"title":3},"11":{"body":47,"breadcrumbs":6,"title":4},"110":{"body":96,"breadcrumbs":9,"title":4},"111":{"body":75,"breadcrumbs":3,"title":1},"112":{"body":105,"breadcrumbs":4,"title":2},"113":{"body":65,"breadcrumbs":5,"title":3},"114":{"body":79,"breadcrumbs":3,"title":1},"115":{"body":93,"breadcrumbs":5,"title":3},"116":{"body":67,"breadcrumbs":6,"title":4},"117":{"body":83,"breadcrumbs":10,"title":4},"118":{"body":49,"breadcrumbs":9,"title":3},"119":{"body":58,"breadcrumbs":7,"title":3},"12":{"body":17,"breadcrumbs":9,"title":7},"120":{"body":38,"breadcrumbs":7,"title":3},"121":{"body":22,"breadcrumbs":9,"title":5},"122":{"body":80,"breadcrumbs":11,"title":7},"123":{"body":20,"breadcrumbs":8,"title":4},"124":{"body":97,"breadcrumbs":7,"title":3},"125":{"body":67,"breadcrumbs":8,"title":2},"126":{"body":32,"breadcrumbs":12,"title":6},"127":{"body":127,"breadcrumbs":12,"title":3},"128":{"body":94,"breadcrumbs":8,"title":2},"129":{"body":82,"breadcrumbs":9,"title":3},"13":{"body":23,"breadcrumbs":5,"title":3},"130":{"body":120,"breadcrumbs":15,"title":6},"131":{"body":122,"breadcrumbs":4,"title":2},"132":{"body":49,"breadcrumbs":3,"title":1},"133":{"body":37,"breadcrumbs":8,"title":3},"134":{"body":48,"breadcrumbs":7,"title":2},"135":{"body":48,"breadcrumbs":9,"title":4},"136":{"body":16,"breadcrumbs":9,"title":4},"137":{"body":77,"breadcrumbs":9,"title":4},"138":{"body":81,"breadcrumbs":12,"title":7},"139":{"body":65,"breadcrumbs":13,"title":8},"14":{"body":9,"breadcrumbs":5,"title":3},"140":{"body":76,"breadcrumbs":2,"title":1},"141":{"body":21,"breadcrumbs":3,"title":1},"142":{"body":80,"breadcrumbs":3,"title":1},"143":{"body":15,"breadcrumbs":3,"title":1},"144":{"body":20,"breadcrumbs":8,"title":4},"145":{"body":53,"breadcrumbs":6,"title":2},"146":{"body":44,"breadcrumbs":8,"title":4},"147":{"body":101,"breadcrumbs":10,"title":3},"148":{"body":66,"breadcrumbs":9,"title":2},"149":{"body":78,"breadcrumbs":13,"title":6},"15":{"body":59,"breadcrumbs":8,"title":3},"150":{"body":142,"breadcrumbs":11,"title":4},"151":{"body":95,"breadcrumbs":4,"title":2},"152":{"body":197,"breadcrumbs":3,"title":1},"153":{"body":162,"breadcrumbs":8,"title":4},"154":{"body":82,"breadcrumbs":8,"title":4},"155":{"body":172,"breadcrumbs":2,"title":1},"156":{"body":215,"breadcrumbs":3,"title":1},"157":{"body":55,"breadcrumbs":4,"title":2},"158":{"body":110,"breadcrumbs":6,"title":2},"159":{"body":62,"breadcrumbs":8,"title":4},"16":{"body":20,"breadcrumbs":6,"title":1},"160":{"body":105,"breadcrumbs":9,"title":5},"161":{"body":147,"breadcrumbs":9,"title":4},"162":{"body":136,"breadcrumbs":12,"title":7},"163":{"body":74,"breadcrumbs":9,"title":4},"164":{"body":266,"breadcrumbs":11,"title":3},"165":{"body":384,"breadcrumbs":15,"title":7},"166":{"body":53,"breadcrumbs":18,"title":10},"167":{"body":28,"breadcrumbs":6,"title":2},"168":{"body":105,"breadcrumbs":5,"title":1},"169":{"body":116,"breadcrumbs":8,"title":4},"17":{"body":38,"breadcrumbs":9,"title":4},"170":{"body":222,"breadcrumbs":11,"title":7},"171":{"body":146,"breadcrumbs":12,"title":8},"172":{"body":233,"breadcrumbs":8,"title":4},"173":{"body":276,"breadcrumbs":7,"title":3},"174":{"body":61,"breadcrumbs":7,"title":3},"175":{"body":141,"breadcrumbs":9,"title":4},"176":{"body":83,"breadcrumbs":7,"title":2},"177":{"body":135,"breadcrumbs":10,"title":5},"178":{"body":109,"breadcrumbs":4,"title":2},"179":{"body":83,"breadcrumbs":4,"title":2},"18":{"body":51,"breadcrumbs":10,"title":5},"180":{"body":203,"breadcrumbs":8,"title":3},"181":{"body":124,"breadcrumbs":13,"title":8},"182":{"body":33,"breadcrumbs":6,"title":2},"183":{"body":131,"breadcrumbs":8,"title":4},"184":{"body":255,"breadcrumbs":7,"title":3},"185":{"body":26,"breadcrumbs":8,"title":3},"186":{"body":175,"breadcrumbs":11,"title":6},"187":{"body":185,"breadcrumbs":13,"title":8},"188":{"body":111,"breadcrumbs":13,"title":8},"189":{"body":176,"breadcrumbs":4,"title":2},"19":{"body":26,"breadcrumbs":6,"title":1},"190":{"body":47,"breadcrumbs":4,"title":2},"191":{"body":9,"breadcrumbs":4,"title":2},"192":{"body":48,"breadcrumbs":3,"title":1},"193":{"body":69,"breadcrumbs":3,"title":1},"194":{"body":107,"breadcrumbs":3,"title":1},"195":{"body":54,"breadcrumbs":5,"title":3},"196":{"body":37,"breadcrumbs":4,"title":2},"197":{"body":51,"breadcrumbs":7,"title":5},"198":{"body":100,"breadcrumbs":6,"title":2},"199":{"body":108,"breadcrumbs":8,"title":2},"2":{"body":24,"breadcrumbs":6,"title":4},"20":{"body":16,"breadcrumbs":6,"title":1},"200":{"body":11,"breadcrumbs":10,"title":3},"201":{"body":129,"breadcrumbs":10,"title":3},"202":{"body":69,"breadcrumbs":9,"title":2},"203":{"body":69,"breadcrumbs":9,"title":2},"204":{"body":50,"breadcrumbs":15,"title":8},"205":{"body":53,"breadcrumbs":10,"title":2},"206":{"body":334,"breadcrumbs":9,"title":1},"207":{"body":339,"breadcrumbs":9,"title":1},"208":{"body":127,"breadcrumbs":12,"title":4},"209":{"body":229,"breadcrumbs":11,"title":2},"21":{"body":17,"breadcrumbs":7,"title":2},"210":{"body":233,"breadcrumbs":8,"title":2},"211":{"body":51,"breadcrumbs":10,"title":4},"212":{"body":126,"breadcrumbs":8,"title":2},"213":{"body":141,"breadcrumbs":9,"title":3},"214":{"body":92,"breadcrumbs":12,"title":6},"215":{"body":184,"breadcrumbs":8,"title":1},"216":{"body":17,"breadcrumbs":12,"title":5},"217":{"body":62,"breadcrumbs":14,"title":7},"218":{"body":25,"breadcrumbs":11,"title":4},"219":{"body":108,"breadcrumbs":11,"title":4},"22":{"body":27,"breadcrumbs":7,"title":2},"220":{"body":124,"breadcrumbs":10,"title":3},"221":{"body":195,"breadcrumbs":8,"title":2},"222":{"body":95,"breadcrumbs":4,"title":1},"223":{"body":65,"breadcrumbs":5,"title":2},"224":{"body":50,"breadcrumbs":5,"title":2},"225":{"body":46,"breadcrumbs":5,"title":2},"226":{"body":72,"breadcrumbs":5,"title":2},"227":{"body":68,"breadcrumbs":6,"title":3},"228":{"body":144,"breadcrumbs":6,"title":2},"229":{"body":131,"breadcrumbs":8,"title":4},"23":{"body":33,"breadcrumbs":6,"title":1},"230":{"body":240,"breadcrumbs":2,"title":1},"231":{"body":193,"breadcrumbs":5,"title":2},"232":{"body":168,"breadcrumbs":7,"title":3},"233":{"body":128,"breadcrumbs":7,"title":3},"234":{"body":60,"breadcrumbs":8,"title":4},"235":{"body":157,"breadcrumbs":9,"title":4},"236":{"body":53,"breadcrumbs":4,"title":2},"237":{"body":77,"breadcrumbs":12,"title":5},"238":{"body":65,"breadcrumbs":11,"title":4},"239":{"body":221,"breadcrumbs":12,"title":5},"24":{"body":31,"breadcrumbs":8,"title":3},"240":{"body":105,"breadcrumbs":13,"title":6},"241":{"body":42,"breadcrumbs":11,"title":4},"242":{"body":116,"breadcrumbs":14,"title":7},"243":{"body":169,"breadcrumbs":10,"title":3},"244":{"body":344,"breadcrumbs":10,"title":4},"245":{"body":67,"breadcrumbs":10,"title":2},"246":{"body":77,"breadcrumbs":15,"title":7},"247":{"body":133,"breadcrumbs":12,"title":3},"248":{"body":200,"breadcrumbs":12,"title":3},"249":{"body":91,"breadcrumbs":13,"title":4},"25":{"body":137,"breadcrumbs":6,"title":1},"250":{"body":38,"breadcrumbs":13,"title":4},"251":{"body":53,"breadcrumbs":17,"title":8},"252":{"body":96,"breadcrumbs":6,"title":3},"253":{"body":32,"breadcrumbs":6,"title":3},"254":{"body":118,"breadcrumbs":6,"title":3},"255":{"body":186,"breadcrumbs":6,"title":3},"256":{"body":112,"breadcrumbs":5,"title":2},"257":{"body":169,"breadcrumbs":4,"title":2},"258":{"body":36,"breadcrumbs":3,"title":1},"259":{"body":74,"breadcrumbs":6,"title":3},"26":{"body":10,"breadcrumbs":6,"title":1},"260":{"body":154,"breadcrumbs":7,"title":4},"261":{"body":95,"breadcrumbs":9,"title":3},"262":{"body":122,"breadcrumbs":8,"title":2},"263":{"body":232,"breadcrumbs":17,"title":11},"264":{"body":139,"breadcrumbs":9,"title":3},"265":{"body":42,"breadcrumbs":12,"title":3},"266":{"body":112,"breadcrumbs":13,"title":4},"267":{"body":277,"breadcrumbs":11,"title":2},"268":{"body":56,"breadcrumbs":15,"title":6},"269":{"body":96,"breadcrumbs":17,"title":8},"27":{"body":69,"breadcrumbs":6,"title":1},"270":{"body":152,"breadcrumbs":19,"title":10},"271":{"body":116,"breadcrumbs":16,"title":7},"272":{"body":199,"breadcrumbs":12,"title":3},"273":{"body":227,"breadcrumbs":13,"title":4},"274":{"body":216,"breadcrumbs":13,"title":4},"275":{"body":82,"breadcrumbs":11,"title":2},"276":{"body":81,"breadcrumbs":10,"title":2},"277":{"body":77,"breadcrumbs":12,"title":4},"278":{"body":109,"breadcrumbs":14,"title":6},"279":{"body":281,"breadcrumbs":10,"title":2},"28":{"body":16,"breadcrumbs":6,"title":2},"280":{"body":82,"breadcrumbs":12,"title":4},"281":{"body":64,"breadcrumbs":4,"title":2},"282":{"body":22,"breadcrumbs":6,"title":4},"283":{"body":30,"breadcrumbs":4,"title":1},"284":{"body":198,"breadcrumbs":4,"title":1},"285":{"body":42,"breadcrumbs":4,"title":1},"286":{"body":78,"breadcrumbs":4,"title":1},"287":{"body":42,"breadcrumbs":4,"title":1},"288":{"body":530,"breadcrumbs":4,"title":1},"289":{"body":47,"breadcrumbs":4,"title":1},"29":{"body":45,"breadcrumbs":6,"title":2},"290":{"body":42,"breadcrumbs":4,"title":1},"291":{"body":742,"breadcrumbs":4,"title":1},"292":{"body":42,"breadcrumbs":4,"title":1},"293":{"body":835,"breadcrumbs":4,"title":1},"294":{"body":114,"breadcrumbs":4,"title":1},"295":{"body":68,"breadcrumbs":4,"title":1},"296":{"body":69,"breadcrumbs":4,"title":1},"297":{"body":162,"breadcrumbs":4,"title":1},"298":{"body":513,"breadcrumbs":4,"title":1},"299":{"body":61,"breadcrumbs":4,"title":1},"3":{"body":43,"breadcrumbs":4,"title":2},"30":{"body":35,"breadcrumbs":10,"title":6},"300":{"body":269,"breadcrumbs":4,"title":1},"301":{"body":50,"breadcrumbs":4,"title":1},"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":120,"breadcrumbs":7,"title":2},"49":{"body":30,"breadcrumbs":9,"title":4},"5":{"body":14,"breadcrumbs":4,"title":2},"50":{"body":46,"breadcrumbs":7,"title":2},"51":{"body":93,"breadcrumbs":5,"title":0},"52":{"body":54,"breadcrumbs":6,"title":1},"53":{"body":21,"breadcrumbs":8,"title":3},"54":{"body":24,"breadcrumbs":9,"title":4},"55":{"body":13,"breadcrumbs":6,"title":1},"56":{"body":15,"breadcrumbs":8,"title":3},"57":{"body":11,"breadcrumbs":8,"title":3},"58":{"body":41,"breadcrumbs":8,"title":3},"59":{"body":30,"breadcrumbs":7,"title":2},"6":{"body":15,"breadcrumbs":4,"title":2},"60":{"body":48,"breadcrumbs":7,"title":2},"61":{"body":22,"breadcrumbs":8,"title":3},"62":{"body":26,"breadcrumbs":9,"title":4},"63":{"body":42,"breadcrumbs":8,"title":2},"64":{"body":154,"breadcrumbs":7,"title":1},"65":{"body":141,"breadcrumbs":10,"title":4},"66":{"body":109,"breadcrumbs":9,"title":2},"67":{"body":48,"breadcrumbs":9,"title":2},"68":{"body":53,"breadcrumbs":10,"title":3},"69":{"body":135,"breadcrumbs":11,"title":4},"7":{"body":31,"breadcrumbs":4,"title":2},"70":{"body":71,"breadcrumbs":13,"title":3},"71":{"body":50,"breadcrumbs":15,"title":5},"72":{"body":114,"breadcrumbs":11,"title":2},"73":{"body":108,"breadcrumbs":12,"title":3},"74":{"body":144,"breadcrumbs":13,"title":3},"75":{"body":336,"breadcrumbs":15,"title":5},"76":{"body":45,"breadcrumbs":9,"title":2},"77":{"body":73,"breadcrumbs":9,"title":2},"78":{"body":60,"breadcrumbs":9,"title":2},"79":{"body":74,"breadcrumbs":9,"title":2},"8":{"body":45,"breadcrumbs":4,"title":2},"80":{"body":94,"breadcrumbs":15,"title":4},"81":{"body":51,"breadcrumbs":2,"title":1},"82":{"body":30,"breadcrumbs":5,"title":2},"83":{"body":115,"breadcrumbs":6,"title":3},"84":{"body":74,"breadcrumbs":4,"title":1},"85":{"body":100,"breadcrumbs":6,"title":3},"86":{"body":37,"breadcrumbs":9,"title":6},"87":{"body":68,"breadcrumbs":5,"title":1},"88":{"body":20,"breadcrumbs":7,"title":3},"89":{"body":25,"breadcrumbs":8,"title":4},"9":{"body":70,"breadcrumbs":7,"title":5},"90":{"body":64,"breadcrumbs":7,"title":3},"91":{"body":35,"breadcrumbs":7,"title":3},"92":{"body":27,"breadcrumbs":6,"title":2},"93":{"body":79,"breadcrumbs":12,"title":8},"94":{"body":31,"breadcrumbs":5,"title":1},"95":{"body":70,"breadcrumbs":8,"title":4},"96":{"body":36,"breadcrumbs":5,"title":1},"97":{"body":29,"breadcrumbs":7,"title":3},"98":{"body":33,"breadcrumbs":8,"title":4},"99":{"body":62,"breadcrumbs":7,"title":3}},"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":"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":"100","title":"Tuples"},"101":{"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":"101","title":"Compile-Time Validated Indexing"},"102":{"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":"102","title":"Runtime Validated Indexing"},"103":{"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":"103","title":"Mutable Tuples"},"104":{"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":"104","title":"Structs"},"105":{"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":"105","title":"Field Access"},"106":{"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":"106","title":"Mutable Structs"},"107":{"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":"107","title":"Oneofs"},"108":{"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":"108","title":"Check the Concrete Type of a Oneof With the instanceof Operator"},"109":{"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":"109","title":"\"Narrowing\" / Type Guards"},"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":"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":"110","title":"Non-Trivial Example Usage"},"111":{"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":"111","title":"Atoms"},"112":{"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":"112","title":"Static Validation"},"113":{"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":"113","title":"Ad-Hoc \"Enums\""},"114":{"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":"114","title":"Aliases"},"115":{"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":"115","title":"Aliases are Syntactic Sugar"},"116":{"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":"116","title":"Overuse of Aliases Can be a Code Smell"},"117":{"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":"117","title":"Aliases are Not a New Type Declaration"},"118":{"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":"118","title":"Note on \"Nominal Typing\""},"119":{"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":"119","title":"User Defined Types"},"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":"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":"120","title":"Declaring a New Type"},"121":{"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":"121","title":"Instantiating an Instance of a User Defined Type"},"122":{"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":"122","title":"User Defined Types \"Wrap\" an Instance of Another Type"},"123":{"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":"123","title":"\"Unwrapping\" a User Defined Type"},"124":{"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":"124","title":"Compile Time Enforcement"},"125":{"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":"125","title":"Parameterized Types"},"126":{"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":"126","title":"Generic Type Param Must be Referenced in Type Declaration"},"127":{"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":"127","title":"Concrete Type Inference"},"128":{"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":"128","title":"Recursive Types"},"129":{"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":"129","title":"Parameterized Recursive Types"},"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":"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":"130","title":"Impossible-to-Initialize Recursive Alias Type Definitions"},"131":{"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":"131","title":"Type Inference"},"132":{"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":"132","title":"Examples"},"133":{"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":"133","title":"Required Type Annotations"},"134":{"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":"134","title":"Procedure Signatures"},"135":{"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":"135","title":"Lambda Expressions assigned to variables"},"136":{"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":"136","title":"Initializing Empty Builtin Collections"},"137":{"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":"137","title":"Non-literal Tuple Subscript"},"138":{"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":"138","title":"(Advanced) Calls to Generic Procedure With Unconstrained Return Type"},"139":{"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":"139","title":"Any Ambiguously-Typed Expression Passed to a Generic Function Arg Position"},"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":"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":"140","title":"Procedures"},"141":{"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":"141","title":"Functions"},"142":{"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":"142","title":"Consumers"},"143":{"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":"143","title":"Providers"},"144":{"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":"144","title":"Lambdas & First Class Procedures"},"145":{"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":"145","title":"Defining Lambdas"},"146":{"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":"146","title":"First Class Procedure References"},"147":{"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 . Read more about how Claro prevents data-races here .","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Lambdas are Restricted \"Closures\"","id":"147","title":"Lambdas are Restricted \"Closures\""},"148":{"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":"148","title":"Static Validation"},"149":{"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":"149","title":"Captured Variables \"Shadow\" Variables in the Outer Scope"},"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":"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":"150","title":"Manually Emulating Traditional \"Closures\""},"151":{"body":"Claro takes a very principled stance that all control flow in the language should be modeled in a way that is self-consistent within the type system - as such, Claro chooses not to model errors around \"throwing Exceptions\". While many languages (e.g. Java/Python/C++/etc.) were designed around thrown exceptions as their error modeling tool, they all suffer from the same antipattern that make it impossible to determine strictly from looking at a procedure signature whether it's possible for the call to fail, and if so, what that failure might look like. This leads users into unnecessary digging to read implementation details to determine how and why certain unexpected error cases inevitably arise. So, taking inspiration from many prior languages such as Rust, Haskell, and Go, Claro requires errors to be modeled explicitly in procedures' signatures as possible return types so that all callers must necessarily either handle any potential errors, or explicitly ignore them or propagate them up the call stack.","breadcrumbs":"Error Handling » Error Handling","id":"151","title":"Error Handling"},"152":{"body":"Claro's std module exports the following type definition: Fig 1: newtype Error : T This type is a trivial wrapper around any arbitrary type. Its power is in the special treatment that the compiler gives to this type to power Claro's error handling functionality. But first, let's take a look at how a procedure might make use of this type to represent states in practice - the below example demonstrates a function that models safe indexing into a list: Fig 2: atom IndexOutOfBounds\nfunction safeGet(l: [T], i: int) -> oneof> { if (i < 0 or i >= len(l)) { return std::Error(IndexOutOfBounds); } return l[i];\n} var l = [1, 2, 3];\nmatch (safeGet(l, getRandomIndex())) { case _:std::Error -> print(\"Index out of bounds!\"); case X -> print(\"Successfully retrieved: {X}\");\n}\n# ...\n$$provider getRandomIndex() -> int {\n$$ random::forSeed(1)\n$$ |> random::nextNonNegativeBoundedInt(^, 8)\n$$ |> var i = ^;\n$$ return i;\n$$} Output: Index out of bounds! To drive the example home, instead of wrapping an atom which doesn't provide any information beyond the description of the error itself, the error could wrap a type that contains more information: Fig 3: atom TooHigh\natom TooLow\nnewtype IndexOutOfBounds : struct { reason: oneof, index: int\n}\nfunction safeGet(l: [T], i: int) -> oneof> { if (i < 0) { return std::Error(IndexOutOfBounds({reason = TooLow, index = i})); } else if (i >= len(l)) { return std::Error(IndexOutOfBounds({reason = TooHigh, index = i})); } return l[i];\n} var l = [1, 2, 3];\nmatch (safeGet(l, getRandomIndex())) { case std::Error(ERR) -> var unwrappedErr = unwrap(ERR); match (unwrappedErr.reason) { case _:TooHigh -> print(\"Index {unwrappedErr.index} is too high!\"); case _:TooLow -> print(\"Index {unwrappedErr.index} is too low!\"); } case X -> print(\"Successfully retrieved: {X}\");\n}\n# ...\n$$provider getRandomIndex() -> int {\n$$ random::forSeed(1)\n$$ |> random::nextNonNegativeBoundedInt(^, 8)\n$$ |> var i = ^;\n$$ return i;\n$$} Output: Index 5 is too high! Continue on to the next section to learn about how Claro enables simple propagation of std::Error values.","breadcrumbs":"Error Handling » std::Error","id":"152","title":"std::Error"},"153":{"body":"As mentioned in the previous section, the power of Claro's builtin std::Error type comes from the special treatment that the compiler gives to values of that type. Specifically, Claro gives you the ability to early-return an error value from a procedure. If for some reason a procedure has no way of actually handling a potential error itself, it can opt to delegate the handling of the error to any callers. This allows the procedure doing error propagation to be written to handle only the \"happy path\". This example demonstrates a procedure that propagates potential errors to its callers: Fig 1: atom IndexTooHigh\natom IndexTooLow\nfunction safeGet(l: [T], i: int) -> oneof, std::Error> { # ...\n$$ if (i < 0) {\n$$ return std::Error(IndexTooLow);\n$$ } else if (i >= len(l)) {\n$$ return std::Error(IndexTooHigh);\n$$ }\n$$ return l[i];\n} function getRandomPairFromList(l: [T], rng: random::RandomNumberGenerator) -> oneof, std::Error, std::Error> { # std::Error may propagate from either call to safeGet(...). var first: T ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5)); # Note the type annotation isn't necessary. var second ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5)); return (first, second);\n} var rng = random::forSeed(0); var firstPair = getRandomPairFromList([1, 2, 3, 4], rng);\nprint(firstPair);\nvar secondPair = getRandomPairFromList([1, 2, 3, 4], rng);\nprint(secondPair); Output: (1, 4)\nError(IndexTooHigh) Note : The error propagation above doesn't allow the caller to know details about whether the error came from the first or second call to safeGet(). This may or may not be desirable - but the design space is left open to Claro users to decide how they want to signal errors to best model the noteworthy states of their problem domain.","breadcrumbs":"Error Handling » Error Propagation » Error Propagation via ?= Operator","id":"153","title":"Error Propagation via ?= Operator"},"154":{"body":"You can observe in the above example that the ?= operator will propagate any std::Error found on the right-hand-side of the assignment. So, as a result, the value that reaches the variable on the left-hand-side of the assignment will drop all std::Error variants from the oneof<...>. Below, some examples are listed to indicate the resulting type of the ?= operator: Fig 2: $$atom A\n$$atom B\n$$atom C\n$$\nprovider demoErrorPropagation() -> oneof, std::Error> { # When there would be multiple non-error variants, the result type remains a oneof<...>. var firstPotentialErr: oneof> = # ...\n$$ A; var firstTypeDemo: oneof ?= firstPotentialErr;\n$$ _ = firstTypeDemo; # When there would only be a single non-error variant, the result type is narrowed to a concrete type. var secondPotentialErr: oneof, std::Error> = # ...\n$$ A; var secondTypeDemo: A ?= secondPotentialErr; return secondTypeDemo;\n}","breadcrumbs":"Error Handling » Error Propagation » ?= Operator Drops All Error Cases","id":"154","title":"?= Operator Drops All Error Cases"},"155":{"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":"155","title":"Generics"},"156":{"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":"156","title":"Contracts"},"157":{"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":"157","title":"Contracts are Not Interfaces"},"158":{"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":"158","title":"Implementing a Contract"},"159":{"body":"Of course, if you attempted to call a generic procedure that requires some contract(s) to be implemented, a compilation error will be triggered if the contract was not actually implemented. Fig 4: # Operators hasn't been implemented, so this call will be rejected.\nprint(sum([1.0, 2.0, 3.0])); Compilation Errors: Invalid Generic Procedure Call: For the call to the following generic procedure `sum` with the following signature: `function<[T] -> T> Generic Over {T} Requiring Impls for Contracts {Operators$}` No implementation of the required contract Operators$.\n1 Error Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Generics » Contracts » Implementing a Contract » Static Enforcement of requires(...) Clauses","id":"159","title":"Static Enforcement of requires(...) Clauses"},"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":"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":"160","title":"A Note on Static Dispatch via \"Monomorphization\""},"161":{"body":"So far we've only demonstrated very simple contracts with over a single generic type parameter - however, there is no hard restriction on the number of type parameters that a contract can reference. (Of course, typical software design principles still apply, a contract with many type params is probably going to be too complex to actually be used effectively in practice.) Here's a contract defined over multiple type params: Fig 1: atom IndexOutOfBounds\ncontract RandomAccess { function read(collection: C, index: int) -> oneof>; function write(collection: C, index: int, elem: E) -> oneof>;\n} And an implementation of that contract: Fig 2: newtype Node : mut struct { val: T, next: oneof, std::Nothing>\n}\nfunction findNode(head: Node, index: int) -> oneof, std::Error> { # ...\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n} implement RandomAccess, string> { function read(head: Node, index: int) -> oneof> { var found ?= findNode(head, index); return unwrap(found).val; } function write(head: Node, index: int, elem: string) -> oneof> { var found ?= findNode(head, index); unwrap(found).val = elem; return std::OK; }\n} Note : Learn more about the ?= operator used in the above example in the Error Handling section.","breadcrumbs":"Generics » Contracts » Multiple Type Params » Contracts with Multiple Type Params","id":"161","title":"Contracts with Multiple Type Params"},"162":{"body":"A contract procedure is always called in exactly the same way regardless of how many type parameters the contract was defined over. Fig 3: $$newtype Node : mut struct {\n$$ val: T,\n$$ next: oneof, std::Nothing>\n$$}\n$$function findNode(head: Node, index: int) -> oneof, std::Error> {\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n$$}\n$$\n$$implement RandomAccess, string> {\n$$ function read(head: Node, index: int) -> oneof> {\n$$ var found ?= findNode(head, index);\n$$ return unwrap(found).val;\n$$ }\n$$ function write(head: Node, index: int, elem: string) -> oneof> {\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = elem;\n$$ return std::OK;\n$$ }\n$$}\n$$\nvar myLinkedList = Node(mut {val = \"head\", next = Node(mut {val = \"middle\", next = Node(mut {val = \"tail\", next = std::Nothing})})}); for (i in [-1, 0, 1, 2, 3]) { var readRes = # Explicitly constrain the return type, so Claro knows which contract implementation to dispatch to. cast( oneof>, RandomAccess::read(myLinkedList, i) ); print(\"index {i}: {readRes}\");\n} Output: index -1: Error(IndexOutOfBounds)\nindex 0: head\nindex 1: middle\nindex 2: tail\nindex 3: Error(IndexOutOfBounds)","breadcrumbs":"Generics » Contracts » Multiple Type Params » Calling a Contract Procedure Over Multiple Type Params","id":"162","title":"Calling a Contract Procedure Over Multiple Type Params"},"163":{"body":"Notice that in the prior example , the call to RandomAccess::read(...) is wrapped in an explicit static cast(...). If you read closely, you can see that this is because the arguments alone do not fully constrain the type that the call should return (it could be that you intend to dispatch to some other impl RandomAccess, Foo>). Read more about this situation in Required Type Annotations . By allowing this sort of contract definition, Claro actually opens up a design space for contracts that can have multiple slight variations implemented, enabling callers can conveniently just get the return type that they need based on context. However, you could argue that this particular contract definition does not benefit from that flexibility. This contract would arguably be more useful if RandomAccess::read(...) didn't have an ambiguous return type. Learn how to address this issue using \"Implied Types\"","breadcrumbs":"Generics » Contracts » Multiple Type Params » Limitation of the Above Contract Definition","id":"163","title":"Limitation of the Above Contract Definition"},"164":{"body":"In the previous section we noticed a problem with the definition of the contract: Fig 1: atom IndexOutOfBounds\ncontract RandomAccess { function read(collection: C, index: int) -> oneof>; function write(collection: C, index: int, elem: E) -> oneof>;\n} Specifically, we decided that this contract definition is too unconstrained: knowing the types of the arguments in a RandomAccess::read(...) call is insufficient to know which contract implementation the call should dispatch to. To drive this point home, in the below example there are two implementations of the contract both over the same collection type, but over different element types. In this definition of the contract, there's nothing stopping this from happening. Fig 2: $$newtype Node : mut struct {\n$$ val: T,\n$$ next: oneof, std::Nothing>\n$$}\n$$function findNode(head: Node, index: int) -> oneof, std::Error> {\n$$ # ...\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n$$}\n$$\nimplement RandomAccess, string> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return unwrap(found).val; } function write(head: Node, index: int, elem: string) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = elem;\n$$ return std::OK; }\n}\nimplement RandomAccess, int> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return len(unwrap(found).val); } function write(head: Node, index: int, elem: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = \"{elem}\";\n$$ return std::OK; }\n} As a result, any calls to the RandomAccess::read(...) function are inherently ambiguous, and require the return type to be explicitly, statically constrained. Any unconstrained calls to this contract procedure would result in a compilation error where Claro tries to ask the user which contract implementation they actually intend to dispatch to: Fig 3: var myLinkedList = Node(mut {val = \"head\", next = Node(mut {val = \"middle\", next = Node(mut {val = \"tail\", next = std::Nothing})})}); print(RandomAccess::read(myLinkedList, 1)); Compilation Errors: implied_types_EX3_example.claro:3: Ambiguous Contract Procedure Call: Calls to the procedure `RandomAccess$::read` is ambiguous without an explicit type annotation to constrain the expected generic return type `oneof>`.\nprint(RandomAccess::read(myLinkedList, 1)); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n1 Error Note : This ambiguity is an inherent feature of the RandomAccess definition itself. Claro would still produce a compilation error if there happened to only be a single implementation because another conflicting implementation could be added at any time.","breadcrumbs":"Generics » Contracts » Multiple Type Params » (Advanced) Implied Types » (Advanced) Implied Types","id":"164","title":"(Advanced) Implied Types"},"165":{"body":"Of course, there's arguably very little reason for this particular contract to actually allow multiple implementations over the same collection type (the second implementation RandomAccess, int> above is very contrived). So ideally this contract definition should statically encode a restriction on such implementations. It should only be possible to implement this contract once for a given collection type - meaning that there would be no more ambiguity on the return type of calls to RandomAccess::read(...). Thankfully, you can encode this restriction directly into contract definition using \"Implied Types\": Fig 4: atom IndexOutOfBounds # Type `C` implies type `E`. There can only be a single RandomAccess impl for any given `C`.\ncontract RandomAccess E> { function read(collection: C, index: int) -> oneof>; function write(collection: C, index: int, elem: E) -> oneof>;\n} The only change is in the declaration of the contract's generic type parameters: E> (read: \"C implies E\") was used instead of . This explicitly declares to Claro that this implication must be maintained for all types, C, over which the contract is implemented throughout the entire program. As a result, it will now be a compilation error for two separate implementations RandomAccess and RandomAccess (where E1 != E2) to coexist, as this would violate the constraint that C => E. So now, attempting to define the two implementations given in the previous example would result in a compilation error: Fig 5: $$newtype Node : mut struct {\n$$ val: T,\n$$ next: oneof, std::Nothing>\n$$}\n$$function findNode(head: Node, index: int) -> oneof, std::Error> {\n$$ # ...\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n$$}\n$$\nimplement RandomAccess, string> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return unwrap(found).val; } function write(head: Node, index: int, elem: string) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = elem;\n$$ return std::OK; }\n}\nimplement RandomAccess, int> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return len(unwrap(found).val); } function write(head: Node, index: int, elem: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = \"{elem}\";\n$$ return std::OK; }\n} Compilation Errors: Invalid Contract Implementation: The Contract you're attempting to implement is defined as RandomAccess$ E> which means that there can only be exactly one implementation of RandomAccess$ for the unconstrained type params C. However, the following conflicting implementations were found: RandomAccess$, int> AND RandomAccess$, string>\n1 Error Now, by eliminating one of the implementations you fix the compilation error. In addition, you're now able to call RandomAccess::read(...) without any ambiguity! Fig 6: $$newtype Node : mut struct {\n$$ val: T,\n$$ next: oneof, std::Nothing>\n$$}\n$$function findNode(head: Node, index: int) -> oneof, std::Error> {\n$$ # ...\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n$$}\n$$\n# This is now the only implementation in the entire program.\nimplement RandomAccess, string> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return unwrap(found).val; } function write(head: Node, index: int, elem: string) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = elem;\n$$ return std::OK; }\n} var myLinkedList = Node(mut {val = \"head\", next = Node(mut {val = \"middle\", next = Node(mut {val = \"tail\", next = std::Nothing})})}); print(RandomAccess::read(myLinkedList, 1)); Output: middle","breadcrumbs":"Generics » Contracts » Multiple Type Params » (Advanced) Implied Types » Statically Preventing Ambiguous Contract Definitions with Implied Types","id":"165","title":"Statically Preventing Ambiguous Contract Definitions with Implied Types"},"166":{"body":"If you made it through this entire section, you should have a strong understanding of the purpose and value add of implied types. However, keep in mind that both unconstrained and implied types have their uses! In particular, the return type ambiguity demonstrated in this section may actually be used to good effect, particularly in the case of designing more \"fluent\" APIs. Don't just assume that every contract should be defined using implied types. You should be applying good design judgement to determine if and when to use this feature or to leave a contract's type parameters unconstrained.","breadcrumbs":"Generics » Contracts » Multiple Type Params » (Advanced) Implied Types » Deciding Whether to Use Implied Types to Constrain a Contract's Implementations is a Judgement Call","id":"166","title":"Deciding Whether to Use Implied Types to Constrain a Contract's Implementations is a Judgement Call"},"167":{"body":"\"Dynamic Dispatch\" is a fancy term for a call to an overloaded procedure (one with multiple implementations whose signatures differ only in the types of args/return value) being routed (a.k.a. \"dispatched\") to the appropriate implementation based on type information solely available at runtime .","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Dynamic Dispatch","id":"167","title":"Dynamic Dispatch"},"168":{"body":"The short version of this section is that Claro supports the following: Fig 1: requires(Stringify)\nconsumer prettyPrintList(l: [T]) { for (e in l) { print(Stringify::displayStr(e)); }\n} var elems: [oneof] = [Foo(1234), Bar(\"some string\"), Buzz(\"another\")];\nprettyPrintList(elems);\n$$\n$$contract Stringify {\n$$ function displayStr(t: T) -> string;\n$$}\n$$\n$$newtype Foo : int\n$$implement Stringify {\n$$ function displayStr(t: Foo) -> string {\n$$ var boundingLine = strings::repeated(\"*\", len(\"{unwrap(t)}\") + len(\"* Foo() *\"));\n$$ return \"{boundingLine}\\n* {t} *\\n{boundingLine}\";\n$$ }\n$$}\n$$\n$$newtype Bar : string\n$$implement Stringify {\n$$ function displayStr(t: Bar) -> string {\n$$ var boundingLine = strings::repeated(\"-\", len(unwrap(t)) + len(\"| Bar() |\"));\n$$ return \"{boundingLine}\\n| {t} |\\n{boundingLine}\";\n$$ }\n$$}\n$$\n$$newtype Buzz : string\n$$implement Stringify {\n$$ function displayStr(t: Buzz) -> string {\n$$ var boundingLine = strings::repeated(\"#\", len(unwrap(t)) + len(\"# Buzz() #\"));\n$$ return \"{boundingLine}\\n# {t} #\\n{boundingLine}\";\n$$ }\n$$} Output: *************\n* Foo(1234) *\n*************\n--------------------\n| Bar(some string) |\n--------------------\n#################\n# Buzz(another) #\n################# Feel free to ponder how this works. But keep reading if it's not immediately obvious what's going on here.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » TLDR;","id":"168","title":"TLDR;"},"169":{"body":"This entire section is intended to build up your intuition for Claro's approach to Dynamic Dispatch by comparing and\ncontrasting with Java. Skip ahead TODO(steving) Add link if you're already familiar with the concept of Dynamic Dispatch, or keep reading for something of a deep dive. Claro is truly a procedural language, and so is philosophically opposed to the personification of data that is a fundamental property of \"Object-Oriented\" programming (OOP) languages like Java/Python/C++/etc. So, you won't find anything resembling \"Objects\" or \"Classes\" in Claro. Additionally, Claro is philosophically opposed to the complexity of inheritance, so again Claro's type system does not support it. However, though Claro takes issue with the path OOP takes to achieve it, the paradigm provides some obviously useful abstractions that help programmers write very expressive code. Of particular interest in this section is the ability to write code that treats values of distinct types interchangeably for the sake of dispatching to procedures that are known to be implemented over each of the distinct types in question. In a language like Java, you'll accomplish this either by using interfaces , or by creating subtype relationships between types using inheritance .","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » By Comparison to Object-Oriented Programming","id":"169","title":"By Comparison to Object-Oriented Programming"},"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":"For example, the below Java code defines an interface with a single \"method\" that three classes implement. Fig 2: /*** JAVA ***/\n$$import java.util.List;\n$$import java.util.ArrayList;\n$$import java.lang.StringBuilder;\n$$\ninterface Stringify { String displayStr();\n}\n$$\nclass Foo implements Stringify { // ...\n$$ private final int wrapped;\n$$ public Foo(int wrapped) {\n$$ this.wrapped = wrapped;\n$$ }\n$$ @Override public String displayStr() { // ...\n$$ String boundingLine = Util.repeated('*', String.valueOf(this.wrapped).length() + \"* Foo() *\".length());\n$$ return String.format(\"%s\\n* Foo(%s) *\\n%s\", boundingLine, this.wrapped, boundingLine); }\n}\n$$\nclass Bar implements Stringify { // ...\n$$ private final String wrapped;\n$$ public Bar(String wrapped) {\n$$ this.wrapped = wrapped;\n$$ }\n$$ @Override public String displayStr() { // ...\n$$ String boundingLine = Util.repeated('-', this.wrapped.length() + \"| Bar() |\".length());\n$$ return String.format(\"%s\\n| Foo(%s) |\\n%s\", boundingLine, this.wrapped, boundingLine); }\n}\n$$\nclass Buzz implements Stringify { // ...\n$$ private final String wrapped;\n$$ public Buzz(String wrapped) {\n$$ this.wrapped = wrapped;\n$$ }\n$$ @Override public String displayStr() { // ...\n$$ String boundingLine = Util.repeated('#', this.wrapped.length() + \"# Buzz() #\".length());\n$$ return String.format(\"%s\\n# Buzz(%s) #\\n%s\", boundingLine, this.wrapped, boundingLine); }\n}\n$$\n$$class Util {\n$$ public static String repeated(char c, int n) {\n$$ StringBuilder sb = new StringBuilder();\n$$ for (; n > 0; n--) {\n$$ sb.append(c);\n$$ }\n$$ return sb.toString();\n$$ }\n$$}\n$$ And so a Java programmer can write a method that accepts an argument of type Stringify... but in Java parlance any type that implements the Stringify interface can be considered a subtype of Stringify and passed in its place: Fig 3: /*** JAVA ***/\npublic class Demo { public static void main(String... args) { // Foo, Bar, and Buzz are all \"subtypes\" of Stringify. prettyPrint(new Foo(1234)); prettyPrint(new Bar(\"some string\")); prettyPrint(new Buzz(\"another\")); } static void prettyPrint(Stringify x) { System.out.println(x.displayStr()); }\n} This is a very convenient abstraction. However, in Java this single method implementation must handle multiple possible concrete subtypes of Stringify (in this case Foo, Bar, and Buzz). Java addresses this by dispatching to the correct implementation of the displayStr() method at runtime , by dynamically checking the actual concrete type of the object currently being handled. This is already an example of Dynamic Dispatch. In Java, Dynamic Dispatch is the norm .","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Using an Interface \"Type\" as a Procedure Arg ( in an OOP language )","id":"170","title":"Using an Interface \"Type\" as a Procedure Arg ( in an OOP language )"},"171":{"body":"But subtyping is by no means essential for this to be possible. By now you've already seen that Contracts provide a mechanism to express the same thing without resorting to creating any subtyping relationships between types. Fig 4: #### CLARO ####\nprettyPrint(Foo(1234));\nprettyPrint(Bar(\"some string\"));\nprettyPrint(Buzz(\"another\")); requires(Stringify)\nconsumer prettyPrint(t: T) { print(Stringify::displayStr(t));\n}\n$$\n$$contract Stringify {\n$$ function displayStr(t: T) -> string;\n$$}\n$$\n$$newtype Foo : int\n$$implement Stringify {\n$$ function displayStr(t: Foo) -> string {\n$$ var boundingLine = strings::repeated(\"*\", len(\"{unwrap(t)}\") + len(\"* Foo() *\"));\n$$ return \"{boundingLine}\\n* {t} *\\n{boundingLine}\";\n$$ }\n$$}\n$$\n$$newtype Bar : string\n$$implement Stringify {\n$$ function displayStr(t: Bar) -> string {\n$$ var boundingLine = strings::repeated(\"-\", len(unwrap(t)) + len(\"| Bar() |\"));\n$$ return \"{boundingLine}\\n| {t} |\\n{boundingLine}\";\n$$ }\n$$}\n$$\n$$newtype Buzz : string\n$$implement Stringify {\n$$ function displayStr(t: Buzz) -> string {\n$$ var boundingLine = strings::repeated(\"#\", len(unwrap(t)) + len(\"# Buzz() #\"));\n$$ return \"{boundingLine}\\n# {t} #\\n{boundingLine}\";\n$$ }\n$$} Output: *************\n* Foo(1234) *\n*************\n--------------------\n| Bar(some string) |\n--------------------\n#################\n# Buzz(another) #\n################# And additionally, as Claro's generic procedures are \"monomorphized\" , there is actually no Dynamic Dispatch going on in the above example . And when you stop and think about it, why would there be? As a human looking at the three calls to prettyPrint(...), there's zero uncertainty of the types in question. Unlike in the Java case, the Claro compiler actually takes advantage of this type information as well to generate code that statically dispatches to the correct implementations without requiring any runtime type checks.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Requiring a Contract to Be Implemented Over Generic Type Params (In Claro)","id":"171","title":"Requiring a Contract to Be Implemented Over Generic Type Params (In Claro)"},"172":{"body":"You may be thinking that Java's use of subtyping makes the language simpler because it allows you to avoid the use of Generics, but this is debatable at best. Consider a very slightly modified version of the above prettyPrint() function that instead takes two arguments: Fig 5: /*** JAVA ***/\npublic class Demo { public static void main(String... args) { // Java allows **both** of these calls - whether you want this or not. prettyPrintPair(new Foo(1234), new Foo(56678)); prettyPrintPair(new Foo(1234), new Bar(\"some string\")); } static void prettyPrintPair(Stringify x, Stringify y) { System.out.println(\"First:\" + x.displayStr()); System.out.println(\"Second:\" + x.displayStr()); }\n} As it's currently defined, there's nothing requiring the two arguments to actually have the same type. In this trivial example, that may be fine, but if I were to actually want to ensure that two arguments both implement an interface and they both actually have the same type, then I'm out of luck - there's no way to statically encode this constraint in Java! In Claro, you would simply write: Fig 6: #### CLARO ####\nrequires(Stringify)\nconsumer prettyPrintPair(x: T, y: T) { print(\"First:\\n{Stringify::displayStr(x)}\"); print(\"Second:\\n{Stringify::displayStr(y)}\");\n} And it will be a compilation error to pass arguments of different types: Fig 7: #### CLARO ####\nprettyPrintPair(Foo(1234), Bar(\"some string\")); Compilation Errors: dynamic_dispatch_EX7_example.claro:2: Invalid type: Found: Bar Expected: Foo\nprettyPrintPair(Foo(1234), Bar(\"some string\")); ^^^^^^^^^^^^^^^^^^\n1 Error But yet it will still be completely valid to pass arguments of the same type just like we wanted: Fig 8: #### CLARO ####\nprettyPrintPair(Foo(1234), Foo(5678));\nprint(\"\");\nprettyPrintPair(Bar(\"some string\"), Bar(\"another\")); Output: First:\n*************\n* Foo(1234) *\n*************\nSecond:\n*************\n* Foo(5678) *\n************* First:\n--------------------\n| Bar(some string) |\n--------------------\nSecond:\n----------------\n| Bar(another) |\n---------------- And for the sake of completeness, Claro's generics also allow you to explicitly express that you would like to allow both arguments to potentially have different types: Fig 9: requires(Stringify, Stringify)\nconsumer prettyPrintPair(x: T, y: V) { print(\"First:\\n{Stringify::displayStr(x)}\"); print(\"Second:\\n{Stringify::displayStr(y)}\");\n} prettyPrintPair(Foo(1234), Bar(\"some string\")); *For the sake of transparency, as Claro's a WIP, there's actually currently an open compiler regression that broke this functionality at the moment. TODO(steving) Fix this. HOT TAKE: While Java's support for subtyping may seem like a powerful tool (and sometimes it really is convenient), it's actually explicitly taking away type information . You in fact end up with a less expressive language as a result of depending on subtyping.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » A (Not So) Brief Aside on the Limitations of Subtyping","id":"172","title":"A (Not So) Brief Aside on the Limitations of Subtyping"},"173":{"body":"So far we've seen that Claro programs do not need to resort to Dynamic Dispatch in situations where the types are actually statically guaranteed to be fixed. However, it's not that difficult to conceive of a situation where a specific type cannot be known until runtime. For example, consider a simple game where different units are dynamically created throughout the course of gameplay. It would be very convenient for the game to be able to implement drawing arbitrary units without being forced to resort to painstakingly hand-write rendering logic for each unit explicitly. In fact, the below video demonstrates a simple Asteroids game written in Claro that accomplishes exactly that: The game's implementation contains a function with the following signature that fully handles the game's rendering logic (see the game's full implementation here ): Fig 10: contract Unit { consumer move(t: T); function hasSpeedBoost(t: T) -> boolean;\n} contract Render { function render(t: T) -> char; function getLoc(t: T) -> Location;\n} requires(Unit, Render)\nfunction gameTick(gameUnits: mut [T], gameBoard: [mut [char]], spaceship: Spaceship, onlyUnitsWSpeedBoost: boolean) -> tuple {\n$$ # The full implementation is too long for these docs. For the full implementation, see:\n$$ # See https://github.com/JasonSteving99/claro-lang/blob/d6177ff8719e894f709c42811bd0b7f0a3d6c4d9/examples/claro_programs/asteroids.claro#L121-L123 # ... # Update unit locations. for (unit in gameUnits) { # ... Unit::move(unit); } # ... # Populate gameBoard. for (unit in gameUnits) { # ... gameBoard[loc.r][loc.c] = Render::render(unit); } # ...\n} Looking more closely, the function accepts an argument gameUnits: mut [T] that contains all of the units, including the asteroids, the player's ship, and any missiles that the player fired. This function is able to actually handle all of these unit types without the programmer needing to hardcode any specific details about them explicitly because of the requires(Unit, Render) constraint on the function that ensures that whatever is inside the gameUnits list, all elements will certainly implement the specified contracts. As a result, the function is able to treat all elements within the gameUnits list interchangeably, even though it has no knowledge whatsoever of what types are actually represented within. To make things even more interesting, the call (see full source ) to the gameTick() function, passes a gameUnits list defined to contain various different unit types: Fig 11: var gameUnits: mut [oneof];\n# ...\nvar gameTickRes = gameTick(gameUnits, ...); This goes to demonstrate that Claro is smart enough to actually understand that the type oneof satisfies the requires(Unit, Render) constraint, because each variant implements the required contract (if any didn't, the call would be rejected with a compilation error). This is Dynamic Dispatch! Because the call was made over types that can't be known until runtime, Claro generates code that will perform the necessary type checks to dispatch to the appropriate procedures at runtime.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Values Of Unknown Type","id":"173","title":"Values Of Unknown Type"},"174":{"body":"If you've made it this far, then congrats! You should have a deep understanding of Dynamic Dispatch in Claro! The last thing to mention is that Dynamic Dispatch is very intentionally something that you have to explicitly opt into in Claro. It is slower and more complicated than the typical Static Dispatch, and Claro has been carefully designed to make Dynamic Dispatch a rare occurrence as it's actually only necessary in very specific, limited situations. Your takeaway from this section should be that while it is very simple to achieve Dynamic Dispatch in Claro, it is actually not a very common situation that you are very likely to run into on a regular basis. But when it does, Claro makes your life easy.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Dynamic Dispatch is Rare","id":"174","title":"Dynamic Dispatch is Rare"},"175":{"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":"175","title":"Generic Return Type Inference"},"176":{"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":"176","title":"Ambiguous Calls"},"177":{"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(1)","breadcrumbs":"Generics » Generic Return Type Inference » Ambiguity via Indirect Calls to Contracts","id":"177","title":"Ambiguity via Indirect Calls to Contracts"},"178":{"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":"178","title":"Copying Data"},"179":{"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":"179","title":"Deep Copying"},"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":"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":"180","title":"Mutability Coercion on Copy"},"181":{"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":"181","title":"Mutability Coercion Can Apply to Type Parameters of a User Defined Type"},"182":{"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":"182","title":"Performance Optimizations"},"183":{"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 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":"183","title":"Claro's copy(...) is Aware of Mutability"},"184":{"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 rigorous \"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.739 seconds\nBuiltin copy time: 1.35E-4 seconds manuallyCopied == GIANT_TEST_LIST: true\nefficientlyCopied == GIANT_TEST_LIST: true","breadcrumbs":"Copying Data » Performance Optimizations » Demonstrating the Performance Win","id":"184","title":"Demonstrating the Performance Win"},"185":{"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":"185","title":"Known copy(...) Bugs"},"186":{"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(37), ComplexData(6)}), ComplexData((ComplexData((ComplexData(-1), ComplexData(-1))), ComplexData(82))), ComplexData({ComplexData(2), ComplexData(64), ComplexData(81)})}) 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":"186","title":"Compiler Stack Overflows on Copying Recursive Types"},"187":{"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":"187","title":"Generated Copy Logic Severs Shared References to Mutable Data"},"188":{"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":"188","title":"Mutability Coercion Can Circumvent a User Defined Type's initializers Restrictions"},"189":{"body":"Strangely, bundling files into builds to be read at runtime regardless of where the executable program gets moved and run from can be a significant pain point in many languages. Of course, each language provides some mechanism to address this concern, but it typically requires either learning about some external build system feature, or figuring out how to pass the correct sequence of flags to compilers. And then even once you do, figuring out the correct incantation to successfully read that resource file can be just as frustrating (looking at you Java). Claro tries to make this much simpler by directly modelling Resource Files as part of the exposed claro_binary() and claro_module() build rules that you'll be using already. Declaring a Resource File to be bundled into the final deploy Jar is as simple as listing it in your Build target similarly to how a Module dependency would be declared: Fig 1: load(\"//@claro-lang:rules.bzl\", \"claro_binary\") claro_binary( name = \"example\", main_file = \"ex1.claro\", resources = { \"MyReource\": \"example_resource.txt\", }\n) The Build target above has an explicit build time dependency on a Resource File named example_resource.txt. As you've by now come to expect, if the file is missing for some reason Bazel will raise a Build error letting you know. You won't simply have to try running your program and go through a whole debugging process just to find out 5 minutes later that you misspelled the file name. Now, your program has access to the Resource File MyResource by using the auto-generated resources::MyResource static value. It can then be read using one of the available functions exported by the StdLib's files Module : Fig 2: resources::MyResource |> files::readOrPanic(^) |> print(\"Resource File Content:\\n\\n{^}\"); Output: Resource File Content: this is just\nsome arbitrary text\nin a file\nto use as an example","breadcrumbs":"Resource Files » Resource Files","id":"189","title":"Resource Files"},"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":"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":"190","title":"Module System"},"191":{"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":"191","title":"Defining a Module"},"192":{"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. Fig 1: # 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":"192","title":"API"},"193":{"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): Fig 2: # 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} Fig 3: # pretty_print.claro consumer prettyPrint(f: Foo) { unwrap(f) |> \"Foo: {^}\" |> Boxes::wrapInBox(^) # <-- Calling dep Module function. |> print(^);\n}","breadcrumbs":"Module System » Sources","id":"193","title":"Sources"},"194":{"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. Dependency Naming: While consumers are allowed to pick any name they want for Modules that they depend on, it should be noted that Claro will adopt the convention that all non-StdLib Module names must begin with an uppercase letter . All StdLib Modules will be named beginning with a lowercase letter. This is intended to allow the set of StdLib modules to expand over time without ever having to worry about naming collisions with user defined Modules in existing programs. Static enforcement of this convention hasn't been implemented yet, but just know that it's coming in a future release.","breadcrumbs":"Module System » Dependencies","id":"194","title":"Dependencies"},"195":{"body":"A Claro Module is fully defined from the above pieces by adding a claro_module(...) definition to the corresponding Bazel BUILD file: Fig 4: # BUILD load(\"@claro-lang//:rules.bzl\", \"claro_module\") 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":"195","title":"Defining BUILD Target"},"196":{"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":"196","title":"Building a Module"},"197":{"body":"To close the loop, the above example Module could be consumed and used in the following executable Claro program in the following way. Fig 5: # BUILD load(\"@claro-lang//:rules.bzl\", \"claro_binary\") ... claro_binary( name = \"test\", main_file = \"test.claro\", deps = { \"Ex\": \":example\", },\n) Fig 6: # 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); Output: ----------\n| Foo: 3 |\n----------\n-----------\n| Foo: 10 |\n-----------","breadcrumbs":"Module System » Executable Using Above Example Module","id":"197","title":"Executable Using Above Example Module"},"198":{"body":"As you've seen in the previous section, a Claro Module is defined by its API which fully declares what downstream consumers of the Module will gain access to by placing a dependency on it. In Claro, this API is explicitly declared using a .claro_module_api file that simply contains type information, signatures, and names of what's implemented within, but does not contain any concrete implementations itself. This may seem like it's just extra boilerplate, but in fact, this separation of API and implementation is actually the source of the extreme modularity that Claro programs can leverage. In particular, it's very important to note that this separation implies that it is impossible for two separate modules to be \"tightly coupled\"! Whereas in other programming languages like Java or Python, you must consciously plan ahead in order to maintain \"loose coupling\" between program components. This guarantee of loose coupling between Modules will be evaluated in more detail in a following section , but for now, we'll just take a moment to explicitly outline exactly what can be exported by a Module's API.","breadcrumbs":"Module System » Module APIs » Module APIs","id":"198","title":"Module APIs"},"199":{"body":"Of course, the most obvious reason to create a new Module is to factor out some logic for the sake of making it reusable in multiple places in your program, or even just to keep another Module's implementation from growing in size indefinitely. So, the first thing that you're likely to export from a Module are procedures. To do so, you will simply declare the signature of the procedure(s) to be exported - that is, everything but the implementation of the procedure. A procedure signature ends with a ; instead of the usual implementation logic inside curly braces. For example, the following signatures are exported from the StdLib's strings module : Fig 1: # strings.claro_module_api function fromChar(c: char) -> string;\nfunction charAt(s: string, i: int) -> char; # ... Including a procedure signature in a Module's API file is a declaration that any dependent of this Module will have access to a procedure with the given signature, so Claro will statically validate that any claro_module(...) target exporting any procedure signatures actually implements that procedure within its given srcs. So, your build target will be required to declare which .claro source file(s) actually implement the exported procedures as explained in the introduction to defining Modules .","breadcrumbs":"Module System » Module APIs » Procedure Signatures » Procedure Signatures","id":"199","title":"Procedure Signatures"},"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"},"200":{"body":"Modules can also be used to export definitions of Types or Aliases that are intended to be used throughout your overall program.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Type & Alias Definitions","id":"200","title":"Type & Alias Definitions"},"201":{"body":"Exporting a Type definition can be as simple as just using the same Type definition syntax that you'd use within a .claro source file. For example, the std module exports the following Type: Fig 1: # std.claro_module_api newtype Error : T # ... The one thing to keep in mind when exporting a Type definition using this basic syntax is that you're explicitly giving\nconsumers access to the internal details of the type itself. This has the potential to make for a very unstable API as\nany consumers can freely unwrap values of the type and manipulate its underlying representation at will. This is obviously unsafe if the Type happens to be mutable as downstream consumers may not know how to maintain any inter-field\ninvariants if they're allowed to mutate it at will. And beyond mutability, perhaps more subtly, you should also consider whether there will be lots of downstream users directly accessing the Type's internal representation, and if so whether the representation is ever subject to any future change. If so, in the future, it may unknowingly become very hard to ever make changes to the Type's internal representation as, to do so, you would simultaneously be forced to update all of the downstream references to the Type's internal representation. Thankfully, Claro actually has mechanisms to hide the internal representation of a Type definition from downstream consumers. Learn more in the sections on Unwrappers and Opaque Types .","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Exporting Type Definitions","id":"201","title":"Exporting Type Definitions"},"202":{"body":"Exporting an Atom is something of a hybrid between exporting a static value and a Type definition, as an atom defines a new type whose only value is the Atom itself. But again, you may export Atoms from Module APIs exactly as it would be defined within a .claro source file. For example, the strings module exports the following atom and several functions that reference it. Fig 2: # strings.claro_module_api atom NOT_FOUND\nfunction indexOf(s: string, of: string) -> oneof;\nfunction indexOfFromIndex(s: string, of: string, from: int) -> oneof;\nfunction lastIndexOf(s: string, of: string) -> oneof;\nfunction lastIndexOfFromIndex(s: string, of: string, from: int) -> oneof; # ...","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Exporting Atoms","id":"202","title":"Exporting Atoms"},"203":{"body":"While Aliases largely exist to allow you to create your own convenient syntax sugar for complex types, it can sometimes be useful for a Module to provide a standardized Alias for long or complex types that downstream usages could benefit from having a shorthand for. Syntax for exporting an Alias in a Module API is exactly the same as the syntax for declaring an Alias in a .claro source file. Fig 3: # ex1.claro_module_api alias ComplexStruct : struct { fieldA: tuple< struct { innerA: int, innerB: [[char]] }, int, float >, fieldB: provider>\n} # It'll be much easier for users to be able to refer to this type using the exported\n# alias rather than the type itself.\nprovider getRandomComplexStruct() -> ComplexStruct;","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Exporting Aliases","id":"203","title":"Exporting Aliases"},"204":{"body":"In general, if your Module exclusively exports Type or Alias definitions, you actually do not need to provide any .claro srcs to the defining claro_module(...) target, as the definitions themselves fully specify the Module in their own right. Fig 4: # ex4.claro_module_api alias UserLookupError : oneof atom USER_NOT_FOUND\natom USER_DELETED\natom USER_SUSPENDED Fig 5: load(\"//:rules.bzl\", \"claro_module\") claro_module( name = \"user_error_types\", module_api_file = \"ex4.claro_module_api\", # You could optionally, explicitly declare an empty list. # srcs = [],\n)","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Modules Exporting Only Types/Aliases Don't Require any .claro Source Files","id":"204","title":"Modules Exporting Only Types/Aliases Don't Require any .claro Source Files"},"205":{"body":"Claro's builtin types are already fully capable of expressing any data structure, and so the entire purpose of User-Defined Types is to allow user code to overlay new semantic meaning onto types beyond just the raw data values themselves. Claro supports two simple constructs that allow User-Defined Types to constrain, and reinterpret the raw data types that they wrap. Note that both of these constructs should likely only be used in limited cases where you have a very specific reason to be doing so.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Initializers » Initializers & Unwrappers","id":"205","title":"Initializers & Unwrappers"},"206":{"body":"Initializers provide a mechanism for a User-Defined Type to constrain the domain of possible values that a type may represent beyond what the raw data types imply on their own. To demonstrate the problem being addressed, take for example the type declaration below: Fig 1: # ex1-no-init.claro_module_api\nnewtype OddInt : int There's nothing about the type definition alone that actually imposes any sort of constraint that actually guarantees that the wrapped int is in fact odd. So a consumer could place a dep (Nums) on the Module and directly construct a completely invalid instance of the OddInt type: Fig 2: # BUILD\nload(\"//:rules.bzl\", \"claro_binary\", \"claro_module\") claro_module( name = \"ex1_no_initializer\", module_api_file = \"ex1-no-init.claro_module_api\", # `newtype OddInt : int`\n) claro_binary( name = \"bad_init_example\", srcs = \"ex1-bad-init.claro\", deps = { \"Nums\": \":ex1_no_initializer\", }\n) Fig 3: # ex1-bad-init.claro\nvar invalidOddInt = Nums::OddInt(8);\nprint(invalidOddInt); Output: OddInt(8) Of course, it'd be very much preferable for it to be impossible to ever construct an instance of a Type that violates its semantic invariants. You can enforce this in Claro by defining Initializers over the Type. Initializers are simply procedures that become the only procedures in the entire program that are allowed to directly use the Type's constructor . Therefore, if a Type declares an initializers block, the procedures declared within become the only way for anyone to receive an instance of the type. Fig 4: # ex1-with-init.claro_module_api\nnewtype OddInt : int atom NOT_ODD\ninitializers OddInt { function getOddInt(x: int) -> oneof>;\n} Fig 5: # BUILD\nload(\"//:rules.bzl\", \"claro_binary\", \"claro_module\") claro_module( name = \"ex1_with_initializer\", module_api_file = \"ex1-with-init.claro_module_api\",\n) claro_binary( name = \"rejected_init_example\", srcs = \"ex1-bad-init.claro\", # Same as before. We'll expect an error. deps = { \"Nums\": \":ex1_with_initializer\", # Now defines an Initializer. }\n) Now, the exact same attempt to construct an invalid instance of OddInt is statically rejected at compile-time - and even better, Claro's able to specifically recommend the fix, calling the Nums::getOddInt(...) function: Fig 6: # ex1-bad-init.claro\nvar invalidOddInt = Nums::OddInt(8);\nprint(invalidOddInt); Compilation Errors: initializers_and_unwrappers_EX6_example.claro:2: Illegal Use of User-Defined Type Constructor Outside of Initializers Block: An initializers block has been defined for the custom type `[module at //mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers:ex1_with_initializer]::OddInt`, so, in order to maintain any semantic constraints that the initializers are intended to impose on the type, you aren't allowed to use the type's default constructor directly. Instead, to get an instance of this type, consider calling one of the defined initializers: - Nums::getOddInt\nvar invalidOddInt = Nums::OddInt(8); ^^^^^^^^^^^^^^^\n1 Error Note: Claro's error messaging is a work in progress - the above error message will be improved. And now finally, you can use the initializer by simply calling it like any other procedure: Fig 7: # ex1-good-init.claro\nvar invalidOddInt = Nums::getOddInt(8);\nprint(invalidOddInt); var oddInt = Nums::getOddInt(7);\nprint(oddInt); Output: Error(NOT_ODD)\nOddInt(7) Now you know for a fact that anywhere where you initialize an instance of an OddInt in the entire program, it will certainly satisfy its semantic invariants. Warning : Still, keep in mind that if your type is mutable, declaring Initializers is not, on its own, sufficient to guarantee that any constraints or invariants are maintained over time. Keep reading to learn about how Unwrappers and Opaque Types can give you full control over this.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Initializers » Initializers","id":"206","title":"Initializers"},"207":{"body":"Initializers are a very useful concept, but on their own they don't allow full control over maintaining a mutable type's semantic invariants or constraints. For example, consider the following type definition: Fig 1: # person.claro_module_api\nnewtype Person : mut struct {name: string, age: int} atom InvalidAge\ninitializers Person { function getPerson(name: string, age: int) -> oneof>;\n} If we wanted to impose the semantic constraint on legal values for a Person's age, defining the initializer alone is only sufficient to ensure the constraint is enforced for the initial value. But it doesn't help maintain this after init as users could still freely unwrap and mutate the type directly: Fig 2: # Negative age can be rejected on init...\nvar invalidAge = Person::getPerson(\"Jason\", -1);\nprint(invalidAge); var p = Person::getPerson(\"Jason\", 29);\n# Prove that we didn't get a std::Error.\nif (p instanceof Person::Person) { print(p); # But we can violate the semantics of the type by unwrapping and mutating directly. unwrap(p).age = -1; print(p);\n} Output: Error(InvalidAge)\nPerson(mut {name = Jason, age = 29})\nPerson(mut {name = Jason, age = -1}) Fortunately, Claro provides a couple different ways to actually control semantic constraints/invariants like this. The first approach is to define Unwrappers. Analogous to Initializers that constrain the usage of a Type's default constructor, Unwrappers constrain the usage of the built-in unwrap(...) operation. For example, the above violation of the intended constraints on a Person's age can be enforced by adding an Unwrapper procedure that will handle all allowed updates: Fig 3: # person.claro_module_api\nnewtype Person : mut struct {name: string, age: int} atom InvalidAge\ninitializers Person { function getPerson(name: string, age: int) -> oneof>;\n}\nunwrappers Person { function setAge(p: Person, newAge: int) -> oneof>;\n} And now, the workaround that previously allowed violating the type's constraints has been patched. Attempts to directly mutate the value w/o going through approved procedures that handle updates will be rejected at compile-time: Fig 4: # Negative age can be rejected on init...\nvar invalidAge = Person::getPerson(\"Jason\", -1);\nprint(invalidAge); var p = Person::getPerson(\"Jason\", 29);\n# Prove that we didn't get a std::Error.\nif (p instanceof Person::Person) { print(p); # But we can violate the semantics of the type by unwrapping and mutating directly. unwrap(p).age = -1; print(p);\n} Compilation Errors: unwrappers_EX4_example.claro:11: Illegal Use of User-Defined Type Unwrapper Outside of Unwrappers Block: An unwrappers block has been defined for the custom type `[module at //mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers:person_with_unwrappers]::Person`, so, in order to maintain any semantic constraints that the unwrappers are intended to impose on the type, you aren't allowed to use the type's default `unwrap()` function directly. Instead, to unwrap an instance of this type, consider calling one of the defined unwrappers: - Person::setAge unwrap(p).age = -1; ^^^^^^^^^\n1 Error Now, if you actually tried to update the age to something invalid using the official setAge(...) function, the update will be rejected: Fig 5: var p = Person::getPerson(\"Jason\", 29);\nif (p instanceof Person::Person) { print(p); # Now the update must be done via the provided `setAge(...)` function # which first validates the update, and in this case rejects. var updateRes = Person::setAge(p, -1); print(updateRes); print(p);\n} Output: Person(mut {name = Jason, age = 29})\nError(InvalidAge)\nPerson(mut {name = Jason, age = 29})","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Unwrappers » Unwrappers","id":"207","title":"Unwrappers"},"208":{"body":"It's worth noting that initializers and unwrappers blocks exist largely to be used independently . The above example is fairly contrived, and would likely be better defined as an \"Opaque Type\" . A good rule of thumb is that if you catch yourself thinking that you need to define both for the same Type, you should likely be defining the Type to be \"Opaque\" instead. In particular, initializers can be well-used in isolation for immutable Types where you would like to validate the values on init, but would like to maintain the ergonomics of allowing users to directly access the internals themselves (and as the data is immutable, there's no risk in allowing them to do so). For example, with the immutable type newtype GameLocation : struct {x: int, y: int} you may want to require that x and y are actually within the game's boundaries, but otherwise you want to allow users of the type to directly access x and y without having to write/use annoying \"getters\". On the other hand, unwrappers can be well-used in isolation for mutable values that can start with any value, but for which all subsequent changes must be constrained. For example, with newtype MonotonicallyIncreasingValue: mut struct {val: long} you may be happy to allow arbitrary starting values, but after that point you would want to ensure that any updates to its value are in fact increasing its value, perhaps by simply exposing an Unwrapper like consumer increment(count: MonotonicallyIncreasingValue);.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Unwrappers » Recommended Use of Unwrappers and Initializers","id":"208","title":"Recommended Use of Unwrappers and Initializers"},"209":{"body":"Programs of any significant size, particularly those developed among potentially large groups of developers, require a significant level of coordination to ensure the program evolves in a controlled manner throughout entire development lifecycle. Claro aspires to provide users with tools to that end. One particular technique that can aid this is hiding the internal representation of a data structure. There are various reasons why this may be desirable: Concern Example Undesirable Outcome Internal representation is subject to significant future change Many downstream usages of the Type's internal representation arise, making future changes to the Type's internal representation unbearably onerous Internal representation must restrict the legal domain of values Users directly manipulating the value can invalidate these necessary constraints and produce invalid data Internal representation is encoded in some way not explicitly described by the types themselves Complex data structures, such as a Heap, may be represented internally as a simple mut [int] but a downstream user mutating this structure is inherently bug-prone Internal representation contains Type's that give access to sensitive behaviors A database connection, for example, may have various open channels to the DB itself, but this doesn't mean it's safe to use this to manually send it arbitrary network reqs To address all of these, developers typically hide the internal representation of such sensitive Types so that any direct interaction with them must necessarily go through \"the front door\" of a certain published, verified API. Claro honors this as a first class capability, by allowing Types exported by a Module definition to be marked \"Opaque\": Fig 1: # ex1.claro_module_api\nopaque newtype Person Now, consumers of a Module with the above Type definition will not be exposed whatsoever to any internal details of its internal representation, which may initially look like: Fig 2: # ex1-impl.claro\nnewtype Person : struct { name: string, userID: int\n} but then, in the future, it could be updated to something like: Fig 3: # ex1-impl.claro\nnewtype Person : struct { name: string, userID: ID::UUID # UPDATED\n} and you'd have a guarantee that you wouldn't have to make any changes outside the defining Module itself because it was never possible for any downstream consumer to actually depend on the internal representation directly.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Opaque Types » Opaque Types","id":"209","title":"Opaque Types"},"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"},"210":{"body":"In addition to Type definitions and Procedure signatures, Modules are also able to export static (read: unchanging) values. This seemingly simple feature actually addresses the core value add of heavyweight \"Dependency Injection\" frameworks like Guice, Dagger, or Spring [1] while providing the static compile-time validation that you'd expect of a first-class programming language feature. The below Module API exports a struct containing a simple server config that's fixed (static) throughout the server's lifecycle: Fig 1: # ex1.claro_module_api # Throughout the server's lifetime this configuration won't change.\nstatic SERVER_CONFIG : ServerConfig; alias ServerConfig : struct { server_name: string, port: int, logging: struct { filename: string }, database: struct { host: string, port: int, database_name: string }\n} The value itself will be provided by implementing a provider static_() -> , for example, the following provider implementation reads and parses [2] the config values from a JSON resource [3] file: Fig 2: { \"server_name\": \"My Server\", \"port\": 8080, \"logging\": { \"filename\": \"server.log\" }, \"database\": { \"host\": \"localhost\", \"port\": 5432, \"database_name\": \"my_database\" }\n} Fig 3: # ex1-impl.claro\nprovider static_SERVER_CONFIG() -> ServerConfig { resources::ConfigJSON |> files::readOrPanic(^) |> var parsedConfig: std::ParsedJson = fromJson(^); var parsedResult = unwrap(parsedConfig).result; if (parsedResult instanceof ServerConfig) { # Config has correct format and was parsed successfully. return parsedResult; } # ... Invalid Config File Format Handling ...\n$$ # TODO(steving) In the future Claro should support an explicit `Panic(\"Reason\")`.\n$$ # TODO(steving) This server shouldn't even be allowed to actually startup.\n$$ return {\n$$ server_name = \"Fake Server\",\n$$ port = -1,\n$$ logging = {\n$$ filename = \"server.log\"\n$$ },\n$$ database = {\n$$ host = \"localhost\",\n$$ port = -1,\n$$ database_name = \"Fake Database\"\n$$ }\n$$ };\n} This syntax is very likely to change. Expressing this via a naming convention is\nextremely undesirable, so any suggestions for a more appropriate syntax are very welcome. And now, a downstream dependent of the Module exporting the SERVER_CONFIG static value can just directly use the value as it was initialized at program startup by the given provider. Fig 4: var config = Config::SERVER_CONFIG;\nprint(\"Server Name: {config.server_name}\");\nprint(\"Port: {config.port}\"); Output: Server Name: My Server\nPort: 8080","breadcrumbs":"Module System » Module APIs » Static Values » Static Values","id":"210","title":"Static Values"},"211":{"body":"The primary restriction placed on Static Values is that they must be deeply immutable to prevent static values from being used in such a way could lead to data races. Because Static Values can be directly referenced anywhere in your program, this means they can be referenced directly or transitively by Graph Procedures or by Lambdas directly scheduled to execute off the main thread using the StdLib's futures module . This must be prevented in order to keep with Claro's philosophy of making it impossible for two threads to share mutable state.","breadcrumbs":"Module System » Module APIs » Static Values » Static Values Must be Deeply Immutable","id":"211","title":"Static Values Must be Deeply Immutable"},"212":{"body":"In general, Static Values are initialized on program startup [4] before a single line of the \"main file\" (determined by claro_binary(name = ..., main_file = ..., deps = ...)) ever actually ran. To demonstrate this, let's add a print(...) statement to both the Static Value's provider, and to the main file that references it: Fig 5: # ex1-impl.claro\nprovider static_SERVER_CONFIG() -> ServerConfig { log(\"STATIC VALUE INITIALIZATION\"); # ...\n$$ resources::ConfigJSON\n$$ |> files::readOrPanic(^)\n$$ |> var parsedConfig: std::ParsedJson = fromJson(^); $$ var parsedResult = unwrap(parsedConfig).result;\n$$ if (parsedResult instanceof ServerConfig) {\n$$ # Config has correct format and was parsed successfully.\n$$ return parsedResult;\n$$ }\n$$ # ... Invalid Config File Format Handling ...\n$$ # TODO(steving) In the future Claro should support an explicit `Panic(\"Reason\")`.\n$$ # TODO(steving) This server shouldn't even be allowed to actually startup.\n$$ return {\n$$ server_name = \"Fake Server\",\n$$ port = -1,\n$$ logging = {\n$$ filename = \"server.log\"\n$$ },\n$$ database = {\n$$ host = \"localhost\",\n$$ port = -1,\n$$ database_name = \"Fake Database\"\n$$ }\n$$ };\n}\nconsumer log(msg: string) { print(\"LOG: {msg}\");\n} Fig 6: Config::log(\"START MAIN FILE\"); var config = Config::SERVER_CONFIG;\nprint(\"Server Name: {config.server_name}\");\nprint(\"Port: {config.port}\"); Output: LOG: STATIC VALUE INITIALIZATION\nLOG: START MAIN FILE\nServer Name: My Server\nPort: 8080","breadcrumbs":"Module System » Module APIs » Static Values » Initialization Order","id":"212","title":"Initialization Order"},"213":{"body":"It's possible, however, that it might not be desirable for this sort of static initialization to happen eagerly like this (for example if the value isn't guaranteed to even be used). So, Claro allows static values to optionally be declared lazy: Fig 7: $$# ex1.claro_module_api\n$$\n$$# Throughout the server's lifetime this configuration won't change.\nlazy static SERVER_CONFIG : ServerConfig;\n$$\n$$alias ServerConfig : struct {\n$$ server_name: string,\n$$ port: int,\n$$ logging: struct {\n$$ filename: string\n$$ },\n$$ database: struct {\n$$ host: string,\n$$ port: int,\n$$ database_name: string\n$$ }\n$$} which will effectively wrap every reference to the value in logic that will first check if the value still needs to be initialized and the initialization logic will be performed exactly once the very first time a read of the Lazy Static Value is actually executed at runtime: Fig 8: Config::log(\"START MAIN FILE\"); var config = Config::SERVER_CONFIG;\nprint(\"Server Name: {config.server_name}\");\nprint(\"Port: {config.port}\"); Output: LOG: START MAIN FILE\nLOG: STATIC VALUE INITIALIZATION\nServer Name: My Server\nPort: 8080 In the case of this example, lazy initialization could mean that the file read of the JSON config resource never actually needs to occur if it would never actually be read. This is a fairly insignificant performance optimization, but one that will be welcome to any developers that have become accustomed to this sort of capability being provided by more heavyweight dependency injection frameworks.","breadcrumbs":"Module System » Module APIs » Static Values » \"Lazy\" Static Values","id":"213","title":"\"Lazy\" Static Values"},"214":{"body":"Finally, it's worth explicitly noting that Static Value providers may depend on other Static Values, with the only restriction being that circular dependencies between Static Value providers are forbidden. In fact, Claro will reject them at compile time to ensure that you don't accidentally create an infinite loop during initialization. Claro doesn't support these DI frameworks' concept of \"scopes\" explicitly, but Claro's Static Values could be conceptually considered to be in the \"Singleton\" scope in any of the mentioned DI frameworks. Learn more about Claro's support for automatic JSON Parsing . Learn more about Claro's support for Resource Files in the StdLib's files module . To be very explicit, technically Static Values are instantiated the first time that the JVM's ClassLoader loads the generated Class representing the Module exporting the Static Value. Hence the calls to Config::log(...) to make the example more compelling.","breadcrumbs":"Module System » Module APIs » Static Values » Static Value Providers May Depend on Other Static Values","id":"214","title":"Static Value Providers May Depend on Other Static Values"},"215":{"body":"An incredibly common pattern in many software projects is parsing command line flags on startup to configure the behavior of a program. For example in backend web services the same service frequently gets reconfigured via flags to run in various different environments (e.g. test/dev/prod). However, in spite of the pattern's universality, most languages seem to ignore the fact and leave Flag parsing as an exercise for the user. This realistically leaves users either running off to download some 3rd-party library or writing some often poorly maintained boilerplate parsing code themselves. Claro aims to provide a lightweight Flag parsing mechanism as a first-class language feature so that you can skip most of the manual toil for such a simple need. Claro's Flags are a special case of Static Values that can be defined and exported by a Module API [1] : Fig 1: # ex1.claro_module_api # Set this flag on the command line.\nflag env: string; Then, just like any other Static Value, it can be referenced directly by anyone with a dependency on the defining Module as in the example below: Fig 2: load(\"//@claro-lang:rules.bzl\", \"claro_module\", \"claro_binary\") # This module is the one defining the `env` Flag.\nclaro_module( name = \"config\", module_api_file = \"ex1.claro_module_api\", # Notice no srcs are specified as Flags do not require a provider like other Static Values do.\n) claro_binary( name = \"demo\", main_file = \"ex1-test.claro\", deps = {\"Config\": \":config\"},\n) Fig 3: # ex1-test.claro\nConfig::env |> print(\"env: \\\"{^}\\\"\"); Output: env: \"\" Flags are different than general Static Values simply in the way their values are instantiated. Rather than implementing a provider that will be automatically run to instantiate the value, Flags are actually automatically parsed from the command line args passed to the program at runtime. In the example above, the Flag wasn't explicitly set when the program was run, so the value was defaulted to the empty string .","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Flags","id":"215","title":"Flags"},"216":{"body":"As there are multiple ways to run Claro programs during development, you'll need to know how to actually set Flag values using each approach.","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Setting a Flag Value on the Command Line","id":"216","title":"Setting a Flag Value on the Command Line"},"217":{"body":"Of course, as you've seen in the Getting Started Guide the easiest way to run a Claro program during development is using the bazel run ... command. But because Bazel itself accepts command line Flags, you'll need to explicitly indicate which command line args should be consumed by Bazel and which should be passed along to the Claro program. You'll do this by simply using a standalone --. Bazel consumes every arg to the left, and anything following gets passed along to the program you're trying to run. Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Passing Flags to Programs Executed via bazel run ...","id":"217","title":"Passing Flags to Programs Executed via bazel run ..."},"218":{"body":"Instead, you can build your program as an executable \"Deploy Jar\" and execute the Jar using the java command, passing command line Flags as you would to any other command: Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Passing Flags to Deploy Jar","id":"218","title":"Passing Flags to Deploy Jar"},"219":{"body":"Now, the power of Flags is often exposed when used to determine the initialization of Static Values. For example, expanding upon the simple env example above, we could export another Static Value, and determine its value based on whatever value was assigned to the env Flag on the command line. Fig 4: # Set this flag on the command line.\nflag env: string; static SUBJECT: string; Fig 5: provider static_SUBJECT() -> string { # `env` here is referring to the flag defined in this module's API. match (env) { case \"dev\" -> return \"DEVS\"; case \"prod\" -> return \"Users\"; # If the flag wasn't set, it will default to the empty string. case \"\" -> return \"is anyone out there?\"; case _ -> return env; }\n} And now, a test program could reference the Static Value, and the program's output will be dependent on the Flag value passed on the command line at runtime: Fig 6: # ex1-test2.claro\nConfig::SUBJECT |> print(\"Hello, {^}!\"); Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Deriving Static Values From Flags","id":"219","title":"Deriving Static Values From Flags"},"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"},"220":{"body":"Claro has to manually emit logic to parse command line args, and as such there's currently only support for parsing the following basic types that are most likely to be found in command line args: boolean string int [string] Claro will statically reject any Flags of unsupported types. For example, Claro won't automatically parse arbitrary structs from the command line. (Although it's likely that in the future Claro will standardize its string encoding of all types and provide some extended support for automatically decoding them from strings). Command line Flag parsing in most other languages can only be done by explicitly handling the command line args list in the program's \"main method\" (or equivalent). But in Claro, Flags can be arbitrarily defined by any Module in the entire program. The only thing to keep in mind is that the very nature of Flags being given on the command line means that their names must be globally unique. So, if you plan to include Flags in a Module that you're publishing for a wide audience, make sure that you use somehow try to ensure that your Flag names can at least be reasonably expected to be globally unique. One suggestion would be to prefix all Flag names with the published name of your Bazel module that's been pushed to the Bazel Central Registry .","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Supported Flag Types","id":"220","title":"Supported Flag Types"},"221":{"body":"As Claro provides simple HTTP support out of the box, you can export HTTP Service definitions from Module APIs. For example, the following Buggy Buggies game [1] can be controlled by sending HTTP GET requests to the endpoints defined below: So, we can encode this api as an HTTP Service that can be called programmatically by Claro programs by exporting the following from a Module API: Fig 1: # ex1.claro_module_api # This encodes the public API of the Buggy-Buggies HTTP service.\n# Claro will generate a non-blocking RPC client for you via the following:\n# `var myClient: HttpClient = http::getHttpClient(\"https://buggy-buggies.gigalixirapp.com\");`\nHttpService BuggyBuggies { hostGame: \"/api/host/{handle}\", friendsJoin: \"/api/game/{gameId}/join/{handle}\", move: \"/api/game/{gameId}/player/{secret}/move/{direction}\", worldInfo: \"/api/game/{gameId}/player/{secret}/info\", reset: \"/api/game/{gameId}/player/{secret}/reset\"\n} # Now there's a single static definition of which client will be used for sending reqs to the Buggy Buggies server.\nstatic BUGGY_BUGGIES_CLIENT: HttpClient; In this case the static HTTP client being exported by this Module will allow messages to be sent to the local port that the Buggy Buggies game is running on: Fig 2: # ex1-impl.claro provider static_BUGGY_BUGGIES_CLIENT() -> HttpClient { # This client will send reqs to localhost but could use a public endpoint. return http::getHttpClient(\"http://localhost:4000\");\n} Now, a dependent can easily make calls to the various HTTP endpoints exposed by the service and from the dependent's perspective it appears just like any other procedure call returning a future<...>. Fig 3: var hostGameRes: oneof> <-| BuggyBuggies::hostGame(BuggyBuggies::BUGGY_BUGGIES_CLIENT, \"jason\"); print(\"Host Game Response:\\n{hostGameRes}\"); Output: Host Game JSON Response:\n{\"reason\":null,\"success\":true,\"result\":{\"watch\":\"http://localhost:4000/game/04cfad01\",\"secret\":\"7f3b8ae5\",\"game_id\":\"04cfad01\",\"example\":\"curl -X GET http://localhost:4000/api/game/04cfad01/player/7f3b8ae5/move/N\"}} Now, you can imagine how a more complex Claro program could use the HTTP client to this service to make a bot that automatically plays the game collecting as much gold as possible. Buggy Buggies Demo Check out the full-fledged implementation of the Claro program controlling the buggy in the above gif. Buggy Buggies was built by Jake Wood , thank you for sharing this!","breadcrumbs":"Module System » Module APIs » HTTP Services » HTTP Services","id":"221","title":"HTTP Services"},"222":{"body":"Claro's deep integration with Bazel allows it to isolate all dependency-related concerns to the Build system rather than cluttering the core language itself with such concerns. Claro's leveraging of Bazel's builtin visibility enforcement features is a powerful example of this. Whereas most programming languages tend to only expose very coarse-grained visibility controls (e.g. public/private), Bazel provides Claro programs with access to a wide range of extremely fine-grained visibility controls. You can read more in detail about Visibility in Bazel's docs, or you can get the important overview below. If you're using GitHub to host your codebase, Bazel's Visibility enforcement becomes even more powerful when used in combination with CODEOWNERS which gives you a mechanism to ensure that Visibility declarations are actually enforceable and can't simply be changed by someone without first taking into account why the visibility was constrained to a certain level in the first place.","breadcrumbs":"Module System » Visibility » Visibility","id":"222","title":"Visibility"},"223":{"body":"All targets are \"private\" by default. So, if you don't want to allow any other targets defined outside the current BUILD file to take a dependency on a given target, you can simply omit a visibility = ... declaration: Fig 1: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Visibility defaults to \"private\". # Alternatively you could explicitly declare the target \"private\" using: # visibility = [\"//visibility:private\"],\n) Note : All targets defined in the same BUILD file are implicitly Visible to each other - meaning that they can place a dependency on one another freely no matter what visiblity = ... declaration is listed in each target's declaration.","breadcrumbs":"Module System » Visibility » Private Visibility","id":"223","title":"Private Visibility"},"224":{"body":"In many cases, you'll be designing Modules to only be consumed by a very specific set of dependents. In this case, you can explicitly name the specific targets that should be allowed to place a dependency on your target: Fig 2: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Now, visibility is granted to the specifically mentioned target. visibility = [\"//some/other/specific:target\"],\n) This is by far the recommended approach. All other more permissive Visibility declarations detailed below should be approached with caution.","breadcrumbs":"Module System » Visibility » Target Visibility","id":"224","title":"Target Visibility"},"225":{"body":"Depending on how your codebase gets organized, you'll likely run into the situation where a certain Module can be generally useful for many Modules in a package. Rather than needing to list each target individually, you can whitelist the entire package to have Visibility on a certain module. Fig 3: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Now, visibility is granted to every target in the `//some/other` directory (package). visibility = [\"//some/other:__pkg__\"],\n)","breadcrumbs":"Module System » Visibility » Package Visibility","id":"225","title":"Package Visibility"},"226":{"body":"Somewhat more rarely, you may also end up with a codebase where a particular Module is useful for many Modules in both a package and all subpackages beneath it. Rather than needing to explicitly list each package, you can make the target Visible to all other targets at or \"below\" a certain package. This should be used sparingly when you have confidence that the design constraints of your codebase will be maintained\nover time. Remember that the proliferation of many dependencies on a particular Module put that Module at risk at\nbecoming extremely difficult to change in the future. Fig 4: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Now, visibility is granted to every target at or below the `//some/other` directory (package). visibility = [\"//some/other:__subpackages__\"],\n)","breadcrumbs":"Module System » Visibility » Subpackages Visibility","id":"226","title":"Subpackages Visibility"},"227":{"body":"While it's possible to make a certain target visible to every other target in the entire project, this is discouraged . You will find that public Visibility can lead to a proliferation of dependencies that can sometimes make the long-term maintenance of the overall project that much more difficult. The more dependencies that a particular Module has, the more difficult it gets to make any changes to that Module's public API. Feel free to use this feature, but please do it consciously, don't just get in a habit of doing this by default for convenience. Fig 5: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Now, visibility is granted to every target globally. visibility = [\"//visibility:public\"],\n)","breadcrumbs":"Module System » Visibility » Public Visibility (Discouraged)","id":"227","title":"Public Visibility (Discouraged)"},"228":{"body":"Claro's Module system was very carefully designed to guarantee that it's statically impossible for two separate modules to be \"tightly coupled\" . In this section we'll dive into exactly what that means. As you've already seen in previous sections, Claro Modules explicitly declare a public API that indicates the full set of procedures/values/Types that the Module's consumers will gain access to. Of course, some form of this is present in every language. The unique distinction is that Claro Module dependencies can be directly swapped out to any other Module with an appropriate API without changing a single line of code in any .claro source files . For example, the below API... Fig 1: # get_message.claro_module_api\nprovider getMessage() -> string; ...could be implemented by multiple Modules... Fig 2: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_binary\", \"claro_module\") claro_module( name = \"hello_world\", module_api_file = \"get_message.claro_module_api\", srcs = [\"hello_world.claro\"],\n)\nclaro_module( name = \"look_ma\", module_api_file = \"get_message.claro_module_api\", srcs = [\"look_ma.claro\"],\n)\n# ... ...and then the exact same .claro source code ... Fig 3: # example.claro\nprint(Msg::getMessage()); ...could be compiled against either Module... Fig 4: # BUILD\nclaro_binary( name = \"test\", main_file = \"example.claro\", deps = { \"Msg\": \":hello_world\", }\n) Fig 5: Hello, World! ...and the behavior would depend on which dependency was chosen... Fig 6: # BUILD\nclaro_binary( name = \"test\", main_file = \"example.claro\", deps = { \"Msg\": \":look_ma\", # Swapped for `:hello_world`. }\n) Fig 7: ----------------------\n| Look ma, no hands! |\n----------------------","breadcrumbs":"Module System » Swapping Dependencies » Swapping Dependencies","id":"228","title":"Swapping Dependencies"},"229":{"body":"The other subtle point that's likely easy to miss if it's not pointed out explicitly is that the validity of a Module dependency is completely dependent upon the usage of the dependency. In less opaque terms, this just means that a Module dependency is valid if the Module's API actually exports everything that is used by the consuming code. The consuming code doesn't make any constraints on anything other than what it actually uses . So, a dependency can be swapped for another that actually exports a completely different API, so long as it at least exports everything that the consuming code actually used from the original Module's API. For example, if a third Module actually implemented a totally different API such as: Fig 8: # extra_exports.claro_module_api\nprovider getMessage() -> string; provider getMessageFromDB() -> future; opaque newtype SecretMessage static SOME_OTHER_MESSAGE : SecretMessage; the dependency would still be valid because example.claro only actually uses the getMessage(...) procedure that is exported by both :look_ma and :hello_world. This single design decision actually enables a huge amount of Build time configurability options. If you'd like to see more about how you can take advantage of this, read about how you can swap dependencies programmatically using Build flags . And if you're interested in becoming a power-user, this feature can be leveraged in some very powerful ways via Build Time Metaprogramming .","breadcrumbs":"Module System » Swapping Dependencies » Dep Validity is Based on Usage","id":"229","title":"Dep Validity is Based on Usage"},"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"},"230":{"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":"230","title":"Concurrency"},"231":{"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":"231","title":"Graph Procedures"},"232":{"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":"232","title":"Graph Procedure Composition"},"233":{"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":"233","title":"Calling Graph Procedures"},"234":{"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":"234","title":"Graphs Execute off the \"Main\" Thread"},"235":{"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":"235","title":"(Advanced) Conditional Subgraph Execution"},"236":{"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 provides an easy-to-use abstraction to statically guarantee that programs are: Non-blocking Data-race free Deadlock free Optimally scheduled Scalable by default The following sections will introduce you to the language features that enable Claro's safe concurrency guarantees.","breadcrumbs":"Fearless Concurrency » Fearless Concurrency","id":"236","title":"Fearless Concurrency"},"237":{"body":"One of Claro's most powerful advantages is that it is able to statically analyze your concurrent code to ensure that it is impossible to run into a data-race at runtime. A data race occurs when two or more threads in a single process access the same memory location concurrently, and at least one of the accesses is for writing, and the threads are not using any exclusive locks to control their accesses to that memory. While there are situations where a race condition may be desirable, they are accidental bugs far more often than not . So, Claro has been carefully designed to statically prevent you from writing any program with such a data race. There are a few primary mechanisms in the language that, together, ensure that data races are impossible to encode. At their core, these restrictions boil down to preventing any two threads from sharing references to the same mutable data.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Guaranteed Data-Race-Free Concurrency","id":"237","title":"Guaranteed Data-Race-Free Concurrency"},"238":{"body":"Claro requires the use of immutable data when passing data between threads. By enforcing this constraint globally, Claro programs in turn receive a static guarantee that all non-Graph procedure interactions with mutable data are happening over mutable data that is local to the current thread only and therefore doesn't require any synchronization whatsoever. So, while you'll read about restrictions on Graph Procedures below, keep in mind that the internal implementations of any given node (e.g. the implementation of a procedure called by a node) may create whatever mutable data it wants, and mutate it freely, including by passing the data around to other procedures that do the mutation.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Thread-Local Data Can be Mutated at Will","id":"238","title":"Thread-Local Data Can be Mutated at Will"},"239":{"body":"Claro's Graph Procedures are an inherently concurrent control flow structure, with nodes executing concurrently by definition. Importantly, Graphs are executed on multiple threads using a threadpool, and Claro takes responsibility for this execution being thread safe. As nodes may be executing simultaneously, it would be fundamentally unsafe for any two nodes to share a reference to the same mutable data as nothing would prevent one of the threads from mutating the data while another thread is reading from it. Claro's approach to addressing this is to track mutability in the type system, and to make use of that information to ensure that no two threads ever share mutable state by statically requiring that all Graph procedure arguments and node outputs are deeply immutable. Fig 1: graph function someGraph(mutArg: mut [int]) -> future { root res <- computeRes(@nodeB, @nodeC); node nodeB <- doNodeBThing(mutArg); node nodeC <- doNodeCThing(mutArg);\n} Compilation Errors: guaranteed_data_race_free_EX1_example.claro:1: Illegal Mutable Graph Procedure Arg: As Graph Procedures are multi-threaded by nature, all args must be deeply-immutable in order to guarantee that Graph Procedures are data-race free by construction. Found the mutable type: mut [int] To correct this, consider converting the arg's type to its deeply-immutable variant: [int]\ngraph function someGraph(mutArg: mut [int]) -> future { ^^^^^^\nguaranteed_data_race_free_EX1_example.claro:3: Invalid type: Found: mut [int] Expected: int node nodeB <- doNodeBThing(mutArg); ^^^^^^\nguaranteed_data_race_free_EX1_example.claro:4: Invalid type: Found: mut [int] Expected: int node nodeC <- doNodeCThing(mutArg); ^^^^^^\n3 Errors graph TD nodeB --> res nodeC --> res Here, Claro has correctly identified that nodeB and nodeC would be susceptible to creating a data race, and so a compilation error is raised. Additionally, even if there were only a single graph node actually using mutArg, it would still be fundamentally unsafe. Remember that every single node in a graph runs on the Graph Executor, which is backed by a threadpool meaning that passing any arguments to a graph procedure is inherently an act that hands data to another thread. Claro's philosophy of thread safety is to statically prevent sharing mutable state across threads, so this will not be allowed.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » All Graph Procedure Args Must be Deeply-Immutable","id":"239","title":"All Graph Procedure Args Must be Deeply-Immutable"},"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\")"},"240":{"body":"You'll also be prevented from introducing a data race by having a graph node pass mutable data to other downstream nodes: Fig 2: graph provider someGraph() -> future { root res <- computeRes(@nodeB, @nodeC); node nodeB <- doNodeBThing(@nodeA); node nodeC <- doNodeCThing(@nodeA); node nodeA <- getMutableThing();\n} Compilation Errors: guaranteed_data_race_free_EX2_example.claro:5: Illegal Mutable Graph Node Result: As Graph Procedures are multi-threaded by nature, all node expression types must be deeply-immutable in order to guarantee that Graph Procedures are data-race free by construction. Found the result of node `nodeA` to have the mutable type: mut [int] To correct this, consider converting to its deeply-immutable variant: [int] node nodeA <- getMutableThing(); ^^^^^^^^^^^^^^^^^\n1 Error graph TD nodeA --> nodeB nodeA --> nodeC nodeB --> res nodeC --> res Again, Claro has correctly identified that nodeB and nodeC would be susceptible to creating a data race, and so a compilation error is raised.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » All Graph Procedure Node Outputs Must be Deeply-Immutable","id":"240","title":"All Graph Procedure Node Outputs Must be Deeply-Immutable"},"241":{"body":"The final restriction that enables \"Fearless Concurrency\" in Claro programs is the constraint restricting Lambdas from \"closing over\"/capturing any mutable value. If Lambdas could capture mutable state data, then passing a Lambda into a Graph could (very indirectly) circumvent Claro's above restriction on sharing references to mutable data across multiple threads. Read more in-depth about this restriction in the \"Lambdas are Restricted Closures\" section.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Lambdas Cannot Capture Mutable Data","id":"241","title":"Lambdas Cannot Capture Mutable Data"},"242":{"body":"Claro aims to be a very pragmatic language, and so chooses not to complicate its type system with something like Rust's (notoriously complex) borrow checker to prevent shared ownership of unsynchronized, mutable data. Instead, Claro opts to take an approach of statically forbidding the arbitrary sharing of mutable state between threads, but then returning the ability to do mutation via a curated set of \"blessed\" mutable data structures that have been manually validated to be Thread Safe in all contexts. For example, take the case of a multithreaded web server where it's very common to employ a request cache to improve throughput by reusing responses from downstream services for some period of time. This request cache is an inherently mutable structure (it needs to be updated when a new request needs to be cached, or when reloading an existing cache entry upon expiration). A mutable request cache is obviously of utmost importance for Claro's practical usefulness as a language for writing real world web services, so the stdlib exposes Ben Manes' famously high-performance, thread safe Caffeine caching library as the StdLib's cache module .","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Thread Safe Mutable Data Structures \"Blessed\" By the StdLib","id":"242","title":"Thread Safe Mutable Data Structures \"Blessed\" By the StdLib"},"243":{"body":"Claro accomplishes this using \"Opaque\" Types and a compiler intrinsic (trick) to effectively lie about the type's mutability to avoid the restrictions on types marked mut. In particular, this type is exported from the cache.claro_module_api file as follows: Fig 3: # Note the lack of a `mut` annotation.\nopaque newtype Cache And is internally defined as wrapping the Java AsyncLoadingCache type from the Caffeine caching library: Fig 4: # This `$java_type` feature is only accessible to the StdLib.\nnewtype Cache: $java_type(\"com.github.benmanes.caffeine.cache.AsyncLoadingCache<%s, %s>\") Thanks to being defined as an Opaque Type, it's safe for this type to be passed anywhere, even shared between threads, as users' only mechanism to interact with values of this type is via the \"front door\" of the procedures exported from cache.claro_module_api which define a Thread Safe API. It's not possible for user code to actually make this same \"lie\" about a type's mutability. This feature is explicitly restricted to the internal StdLib modules to ensure that Claro's \"Fearless Concurrency\" guarantees aren't broken by users either publishing buggy or intentionally malicious modules. At the moment (and into the foreseeable future), Claro places a much higher value on being able to make safety guarantees across the entire language ecosystem than on any individual's ability to define their own custom mutable data structures that can be shared across threads. There are currently no plans to ever allow any mutable, user-defined type defined outside the StdLib to be shared across threads. Instead, Claro intends to actively welcome external contributions of high value, general purpose, demonstrably Thread Safe, mutable data structures to be made available via the StdLib .","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Important : This is Restricted to the StdLib","id":"243","title":"Important : This is Restricted to the StdLib"},"244":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » Guaranteed Deadlock-Free Concurrency","id":"244","title":"Guaranteed Deadlock-Free Concurrency"},"245":{"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 blocking 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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » Blocking Procedures » Blocking Procedures","id":"245","title":"Blocking Procedures"},"246":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » Blocking Procedures » Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)","id":"246","title":"Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)"},"247":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » Re: \"What Color is Your Function?\"","id":"247","title":"Re: \"What Color is Your Function?\""},"248":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » (Advanced) Blocking Generics » (Advanced) Blocking Generics","id":"248","title":"(Advanced) Blocking Generics"},"249":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » (Advanced) Blocking Generics » Note on the blocking:argName and blocking? Syntax","id":"249","title":"Note on the blocking:argName and blocking? Syntax"},"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(...)"},"250":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » (Advanced) Blocking Generics » Lambdas Cannot Use Any Form of Generics","id":"250","title":"Lambdas Cannot Use Any Form of Generics"},"251":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » (Advanced) Blocking Generics » First-Class References to Blocking-Generic Top-Level Procedures","id":"251","title":"First-Class References to Blocking-Generic Top-Level Procedures"},"252":{"body":"Claro has been carefully designed to be uniquely well-suited for building highly efficient, scalable web servers. Claro's \"Fearless Concurrency\" guarantees are explicitly an effort to make it significantly challenging to make a buggy, slow web server - and instead, Claro's novel concurrency model will lead to performant and easy-to-maintain web servers naturally falling out of even naive usages of the language. To actually demonstrate this explicitly, Claro provides very basic support for building HTTP servers that can be used in the absence of any sort of 3rd party framework to jump you right into your first web server in Claro. This feature is largely intended as a demonstration of Claro's current capabilities, and to point towards Claro's future direction. This is by no means a complete web server framework. Following this guide will lead you through the steps to setting up your very first web server in Claro.","breadcrumbs":"Basic HTTP Servers » Basic HTTP Servers","id":"252","title":"Basic HTTP Servers"},"253":{"body":"First, you'll need to define the endpoints that your HTTP service will handle. To do this, you'll use Claro's built-in HttpService definition syntax, e.g.: Fig 1: HttpService Greeter { genericGreeting: \"/genericGreeting\", greeting: \"/greeting/{name}\"\n} The above defines a very simple service with two basic endpoints.","breadcrumbs":"Basic HTTP Servers » HTTP Service Definition","id":"253","title":"HTTP Service Definition"},"254":{"body":"Claro will automatically generate a pre-configured, non-blocking web server implementation for your HttpService definition by using the builtin magic function http::getBasicHttpServerForPort(). This function is implemented as a compiler intrinsic that will infer the server to automatically generate based on the type asserted on the call. So, we can get Claro to generate a web server for the example Greeter service as in the example below. Note that no Endpoint Handlers have been implemented yet so we should actually expect the below to fail to compile and\nprompt us to implement them! Doing things in this order allows us to allow Claro to prompt us with the signatures that\nwe need to implement, which is just a convenience. Fig 2: HttpService Greeter { genericGreeting: \"/genericGreeting\", greeting: \"/greeting/{name}\"\n} # endpoint_handlers Greeter { } var greeterServer: HttpServer = http::getBasicHttpServerForPort(8080);\n_ = greeterServer; # Not starting the server yet. Compilation Errors: http_servers_EX2_example.claro:8: Invalid HttpServer Generation Requested for HttpService Missing Endpoint Handlers Definition: In order to automatically generate an HttpServer for the given HttpService an `endpoint_handlers` block such as the following must be defined: endpoint_handlers Greeter { graph provider genericGreeting() -> future { ... } graph function greeting(pathArg0: string) -> future { ... } }\nvar greeterServer: HttpServer = http::getBasicHttpServerForPort(8080); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n1 Error","breadcrumbs":"Basic HTTP Servers » Auto-Generated HttpServer","id":"254","title":"Auto-Generated HttpServer"},"255":{"body":"A service definition on its own doesn't actually provide much utility without endpoint handlers implemented to actually serve up the responses to incoming requests. As we see from the compilation error above, we must define endpoint handlers for the above HttpService by defining an endpoint_handlers block with a Graph Procedure implementation corresponding to each endpoint in the HttpService definition. Note that in the HTTP service definition above, the greeting endpoint includes {name} in the route - this is a \"path parameter\" that will automatically be parsed from incoming requests and passed along as input to the associated endpoint handler. So, note that the signature of the greeting endpoint handler includes a string arg that will represent the value of the {name} path parameter for each request to that endpoint. Fig 3: HttpService Greeter { genericGreeting: \"/genericGreeting\", greeting: \"/greeting/{name}\"\n} endpoint_handlers Greeter { graph provider genericGreeting() -> future { root httpRes <- http::getOk200HttpResponseForJson(@json); node json <- EndpointHandlerImpls::GENERIC_GREETING; } graph function greeting(name: string) -> future { root httpRes <- http::getOk200HttpResponseForJson(@json); node json <- EndpointHandlerImpls::getGreetingForName(name); }\n} var greeterServer: HttpServer = http::getBasicHttpServerForPort(8080);\n_ = greeterServer; # Not starting the server yet. As you can see, the core implementation logic was factored out into another Module EndpointHandlerImpls. These impls can do anything, including making arbitrary downstream network requests, as long as they are non-blocking. In this case, they'll simply return some simple greeting. Note: the requirement that each endpoint handler implementation be a Graph Procedure is to ensure that the resulting\nweb service is statically guaranteed to be non-blocking and to ensure that each request is handled off the\nrequest thread so that long-running computations don't interfere with the service's ability to receive and schedule incoming requests. This ties together all of Claro's design decisions to make building fundamentally concurrent web\nservices a trivial task.","breadcrumbs":"Basic HTTP Servers » Implementing Endpoint Handlers","id":"255","title":"Implementing Endpoint Handlers"},"256":{"body":"That's it! Now we can actually start the Greeter server that we just implemented. This is as simple as calling the builtin http::startServerAndAwaitShutdown() consumer. This call effectively drops into an infinite loop, so depending on how you start it, when you're done and want to bring the service down, you'll have to send a termination signal to the server process e.g. using ctrl-C. Fig 4: $$HttpService Greeter {\n$$ genericGreeting: \"/genericGreeting\",\n$$ greeting: \"/greeting/{name}\"\n$$}\n$$\n$$endpoint_handlers Greeter {\n$$ graph provider genericGreeting() -> future {\n$$ root httpRes <- http::getOk200HttpResponseForJson(@json);\n$$ node json <- EndpointHandlerImpls::GENERIC_GREETING;\n$$ }\n$$ graph function greeting(name: string) -> future {\n$$ root httpRes <- http::getOk200HttpResponseForJson(@json);\n$$ node json <- EndpointHandlerImpls::getGreetingForName(name);\n$$ }\n$$}\n$$\n$$var greeterServer: HttpServer = http::getBasicHttpServerForPort(8080);\n$$_ = greeterServer; # Not starting the server yet.\n# Finally start the service\nhttp::startServerAndAwaitShutdown(greeterServer); The below recording is a demonstration this server in action. It first starts up the server (launching the process in the background), and then sends a couple requests to each endpoint using curl to demonstrate the server in action, and then finally kills the server. Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Basic HTTP Servers » Starting an HttpServer","id":"256","title":"Starting an HttpServer"},"257":{"body":"Claro strives to make development easier in many ways, and as being able to write programs that interact with the network is an important goal, Claro has some initial support for automatically generating efficient JSON parsers for relatively arbitrary formats. If you know the schema of the JSON data that you'll be interacting with, and can describe it as some Claro struct, then in general you can automatically parse JSON data from a string directly into the Claro type. Claro's JSON parsing is implemented by generating a custom parser for the target data format at compile time . So, in addition to ergonomic improvements, this approach offers potential performance benefits over a general-purpose JSON parser. For example, the following JSON string could be included in a Resource File : Fig 1: { \"server_name\": \"My Server\", \"port\": 8080, \"logging\": { \"filename\": \"server.log\" }, \"database\": { \"host\": \"localhost\", \"port\": 5432, \"database_name\": \"my_database\" }\n} We can represent that JSON format as the following Claro data structure: Fig 2: alias ServerConfig : struct { server_name: string, port: int, logging: struct { filename: string }, database: struct { host: string, port: int, database_name: string }\n} And now, the JSON string can be parsed by a simple call to the fromJson(...) builtin function: Fig 3: resources::ServerConfigJSON |> files::readOrPanic(^) |> var parsedConfig: std::ParsedJson = fromJson(^); var parsedResult = unwrap(parsedConfig).result;\nif (parsedResult instanceof ServerConfig) { print(\"Config has correct format and was parsed successfully!\"); print(strings::repeated(\"-\", 50)); print(\"Server Name: {parsedResult.server_name}\"); print(\"Port: {parsedResult.port}\");\n} else { print(\"JSON parsing failed!\"); print(parsedResult);\n} Output: Config has correct format and was parsed successfully!\n--------------------------------------------------\nServer Name: My Server\nPort: 8080","breadcrumbs":"JSON Parsing » JSON Parsing","id":"257","title":"JSON Parsing"},"258":{"body":"To be clear, Claro's JSON parsing support is currently fairly constrained and doesn't yet support the full range of possible JSON formats. You'll be warned at compile-time if the format you're attempting to auto-parse is supported or not. More work will be needed to complete the implementation. If you're interested in contributing to this please reach out!","breadcrumbs":"JSON Parsing » Limitations","id":"258","title":"Limitations"},"259":{"body":"Claro takes the stance that relatively sophisticated Build-time logic can be a great enabler of significant flexibility. In particular, even very simple Build-time code generation can be used to achieve extremely convenient code reuse without forcing the core Claro programming language itself to become more and more complex over time to directly represent more and more complex design patterns. This section seeks to demonstrate how Bazel's configuration language (that you'll already be using to declare claro_module(...) and claro_binary(...) targets in BUILD files) can be used to write logic that will programmatically determine at Build-time the program structure that will be converted to an executable at Compile-time.","breadcrumbs":"Build Time Metaprogramming » Build Time Metaprogramming","id":"259","title":"Build Time Metaprogramming"},"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"},"260":{"body":"The first distinction to make here is a subtle difference between \"Build\" and \"Compile\" time in the Claro ecosystem. All statically compiled languages have a \"Compile\" phase where the final program's source code is evaluated by the language's compiler and eventually converted into an actual executable, and this is no different in Claro. The unique aspect of Claro is that it's been intentionally designed with a tight integration with its Build system Bazel in mind, and so your program's source files are first processed by Bazel, potentially executing arbitrary Build-time logic of your choosing before any source code is ever passed to the Claro compiler itself . As we'll go into more detail on in this section, Bazel enables you to write all sorts of arbitrary file-manipulations or script executions during this Build phase. This enables you to do any manner of source code transformations or even code generation from statically validated sources of truth. And, thanks to Bazel's correctness guarantees, you're able to string together arbitrary graphs of Build logic that will be reliably reproduced on each Build (with each step benefiting from Bazel's caching support for incremental Builds). Only after all Build steps have completed successfully does the Build phase end and the Compile phase begin with the final dependency graph of claro_binary(...) and claro_module(...) targets evaluated by the Claro compiler. Continue on to the next sections where we'll go into more details to demonstrate some ways you can leverage Build-time metaprogramming to gain more dynamic control over the Claro programs you create.","breadcrumbs":"Build Time Metaprogramming » Build vs Compile Phases","id":"260","title":"Build vs Compile Phases"},"261":{"body":"The first, extremely simple Build-time Metaprogramming example that we'll look at is one way to create and use source code templates at Build time. As a contrived example, imagine that you're writing an HTTP Service's homepage Endpoint Handler where you want to just serve some hardcoded static HTML representing our site's trivial homepage. Of course, you may decide to just directly write out the HTML string inline, but it would probably be more useful to create a separate homepage.html file so that you can get IDE support for your HTML. You could of course depend on homepage.html as a Resource file to read at runtime, but we could also opt to directly embed the file's HTML contents into the source code at Build time so that we don't have to spend any time reading the file while the program is running. To do this, we could make our source file a template with a format string {{HOMEPAGE_HTML}} to be replaced: Fig 1: # ex1.claro.tmpl\nprovider homepageHtml() -> string { return \"{{HOMEPAGE_HTML}}\";\n}","breadcrumbs":"Build Time Metaprogramming » Source Code Templates » Source Code Templates","id":"261","title":"Source Code Templates"},"262":{"body":"Bazel provides ample tooling for you to write this functionality entirely from scratch, but to make it easier to get up and running, Claro provides an expand_template(...) Bazel macro out of the box. The BUILD file below expands the template by converting the given homepage.html file to a single line with all \" escaped and inserting it into the ex1.claro.tmpl: Fig 2: # BUILD\nload(\"@claro-lang//stdlib/utils/expand_template:expand_template.bzl\", \"expand_template\") expand_template( name = \"ex1\", template = \"ex1.claro.tmpl\", out = \"ex1.claro\", substitutions = { # Replace {{HOMEPAGE_HTML}} with the contents of the html file generated below. \"HOMEPAGE_HTML\": \"homepage_single_line.html\", },\n) # Learn more about genrule at: https://bazel.build/reference/be/general#genrule\ngenrule( name = \"homepage_single_line\", srcs = [\"homepage.html\"], outs = [\"homepage_single_line.html\"], # Bash script to remove all newlines and escape double-quotes. cmd = \"cat $(SRCS) | tr '\\\\n' ' ' | sed 's/\\\"/\\\\\\\\\\\"/g' > $(OUTS)\",\n) And now you end up with a valid Claro source file: Fig 3: # ex1.claro\nprovider homepageHtml() -> string { return \" My Website

    Welcome to my website!

    This is a very basic homepage.

    \";\n}","breadcrumbs":"Build Time Metaprogramming » Source Code Templates » expand_template(...) Macro","id":"262","title":"expand_template(...) Macro"},"263":{"body":"Bazel's support for this Build time execution is an extremely powerful tool that can be used for all sorts of things where you'd like to derive some files (program source code or otherwise) from some other file(s) representing canonical source(s) of truth. In fact, this docs site was dynamically generated at Build time by first executing each and every sample Claro code snippet and templating the snippet's output into the markdown file that eventually gets converted to HTML. To make this example more explicit, this site's Hello, World! page was generated from literally the below template: Fig 4: # Hello, World! {{EX1}} As you can already see from the most minimal program possible, Claro programs eliminate unnecessary boilerplate. Every\nClaro program is simply a sequence of statements that are executed from top-to-bottom as if it were a \"script\". You\ndon't need to specify a \"main\" method\" as in other languages like Java, instead, much like Python, you simply specify a\nstarting file which will execute top-down at program start. And the corresponding BUILD file contains the following doc_with_validated_examples(...) declaration which is built on top of the expand_template(...) macro described above: Fig 5: # BUILD\nload(\"//mdbook_docs:docs_with_validated_examples.bzl\", \"doc_with_validated_examples\") doc_with_validated_examples( name = \"hello_world\", doc_template = \"hello_world.tmpl.md\", examples = [\"hello_world.claro\"],\n) Which generates this final output markdown: Fig 6: # Hello, World! #### _Fig 1:_\n---\n```claro\nprint(\"Hello, world!\");\n```\n_Output:_\n```\nHello, world!\n```\n--- As you can already see from the most minimal program possible, Claro programs eliminate unnecessary boilerplate. Every\nClaro program is simply a sequence of statements that are executed from top-to-bottom as if it were a \"script\". You\ndon't need to specify a \"main\" method\" as in other languages like Java, instead, much like Python, you simply specify a\nstarting file which will execute top-down at program start. This is a powerful example of Build-time Metaprogramming being put to good use. This approach is not just convenient, but provides some legitimate guarantees that wherever this approach was used, if the site deploys, then the sample code on the site is guaranteed to actually be valid because otherwise Bazel would have failed the build! You can imagine how useful this is for an actively in-development language where things are subject to potentially change at any time. Feel free to dig into the source code of Claro's docs site here if you want to get more into the weeds on this example.","breadcrumbs":"Build Time Metaprogramming » Source Code Templates » (Aside) Claro's Entire Docs Site is Generated at Build Time Using This Templating Approach!","id":"263","title":"(Aside) Claro's Entire Docs Site is Generated at Build Time Using This Templating Approach!"},"264":{"body":"Claro enables you to literally reuse source code throughout your program rather than offering a list of complex type system features that indirectly enable code reuse like other languages do (e.g. via inheritance in OO languages, or liberal use of higher order functions in FP languages). It will take a bit of conceptual groundwork (unlearning long-held assumptions) to understand Claro's approach here, but in exchange, you'll be given some powerful new ways to think about \" what \" a Claro program is. Rather than trying to impose specific code organization design patterns on you (e.g. Java trying to force use of inheritance) Claro instead aims to be flexible enough to allow you full control of using and encoding your own organizational design patterns (potentially including inheritance if you felt so inclined). Probably the most fundamental idea that you'll need to internalize to fully understand Claro's larger design in a deep way is the relationship that a file containing Claro source code actually has with the final resulting program. This is a subtle point. It's very possible to write a good amount of Claro code without noticing anything unusual in this regard. Rather than going into an overly detailed explanation, read on to the following sections for some detailed examples of various different ways you can dynamically construct Claro programs at Build time.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » (Literal) Code Reuse","id":"264","title":"(Literal) Code Reuse"},"265":{"body":"This is a long section, but it's foundational to a deep understanding of the full expressive power you have available to you at Build time. You're encouraged to read through this in full! But remember, while you may sometimes end up consuming Modules that were defined using these advanced features, you'll never be forced to directly use any Build time metaprogramming feature yourself . These will always be conveniences for more advanced users.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Reusing Module APIs","id":"265","title":"Reusing Module APIs"},"266":{"body":"The most basic, and also most important form of reuse in Claro codebases will be in the form of multiple Modules sharing a common API. This doesn't require any special syntax or setup whatsoever, once you've defined a valid .claro_module_api file any number of Modules may implement that API. Each claro_module(...) definition simply needs to declare its module_api_file = ... to reference the same exact .claro_module_api file. For example, the following API: Fig 1: # animal.claro_module_api\nopaque newtype InternalState newtype State : struct { name: string, internal: InternalState\n} implement AnimalSounds::AnimalSounds; Can be implemented multiple times, by more than one Module: Fig 2: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") claro_module( name = \"dog\", module_api_file = \"animal.claro_module_api\", srcs = [\"dog.claro\"], deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"],\n)\nclaro_module( name = \"cat\", module_api_file = \"animal.claro_module_api\", srcs = [\"cat.claro\"], deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"],\n)\n# ... In general, the Build targets declared above will be totally sufficient!","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Multiple Implementations of a Module API","id":"266","title":"Multiple Implementations of a Module API"},"267":{"body":"The API definition above declares that any Module implementing the API will export a type that includes a name field, but may configure its own internal state as it wishes. To make this example more compelling, if you read the API closely, however, you may notice that as presently defined there would be no way for any dependent Module to actually interact with this API as defined, because there's no way to instantiate the opaque newtype InternalState [1] . So, to actually make this API useful, implementing Modules would need to somehow explicitly export some Procedure that gives dependents the ability to instantiate the InternalState. You'll notice that care has been taken to make sure that Claro's API syntax is flexible enough to allow for multiple APIs to be conceptually (or in this case, literally) concatenated to create one larger API for a Module to implement. So that's exactly what we'll do here, with each module exporting an additional procedure from its API to act as a \"constructor\" for its opaque type. Fig 3: # dog_cons.claro_module_api\nfunction create(name: string, isHappy: boolean) -> State; Fig 4: # cat_cons.claro_module_api\nfunction create(name: string, favoriteInsult: string) -> State; Fig 5: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") [\"BUILD\", \"animal.claro_module_api\", \"cat_cons.claro_module_api\", \"dog_cons.claro_module_api\"],\n) genrule( name = \"dog_api\", srcs = [\"animal.claro_module_api\", \"dog_cons.claro_module_api\"], outs = [\"dog.claro_module_api\"], cmd = \"cat $(SRCS) > $(OUTS)\"\n)\nclaro_module( name = \"dog\", module_api_file = \":dog_api\", # Updated to use the API with a constructor. srcs = [\"dog.claro\"], deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"],\n) genrule( name = \"cat_api\", srcs = [\"animal.claro_module_api\", \"cat_cons.claro_module_api\"], outs = [\"cat.claro_module_api\"], cmd = \"cat $(SRCS) > $(OUTS)\"\n)\nclaro_module( name = \"cat\", module_api_file = \":cat_api\", # Updated to use the API with a constructor. srcs = [\"cat.claro\"], deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"],\n)\n# ... In the future claro_module(...) will accept a list of .claro_module_api files instead of a single file to make this pattern easier to access without having to manually drop down to a genrule(...) to concatenate API files. And now, importantly, multiple Modules implementing the same API can coexist in the same Claro program with no conflict! Fig 6: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") # ... claro_binary( name = \"animals_example\", main_file = \"animals_example.claro\", deps = { \"AnimalSounds\": \":animal_sounds\", \"Cat\": \":cat\", \"Dog\": \":dog\", },\n) Fig 7: # animals_example.claro\nvar animals: [oneof] = [ Dog::create(\"Milo\", true), Dog::create(\"Fido\", false), Cat::create(\"Garfield\", \"This is worse than Monday morning.\") ]; for (animal in animals) { print(AnimalSounds::AnimalSounds::makeNoise(animal));\n} Output: Woof!\nGrrrr...\nThis is worse than Monday morning. Read more about Dynamic Dispatch if you're confused how the above Contract Procedure call works.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Going Deeper","id":"267","title":"Going Deeper"},"268":{"body":"Now, you'd be right to think that the above Build target declarations are extremely verbose. And potentially worse, they also contain much undesirable duplication that would have to kept in sync manually over time. Thankfully, Bazel provides many ways to address both of these issues. Remember that Bazel's BUILD files are written using Starlark, a subset of Python, so we have a significant amount of flexibility available to us when declaring Build targets! We'll walk through a few different options for defining these targets much more concisely.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Expressing the Above Build Targets More Concisely","id":"268","title":"Expressing the Above Build Targets More Concisely"},"269":{"body":"The very first thing we'll notice is that the vast majority of these targets are duplicated. So, as programmers, our first thought should be to ask how we can factor out the common logic, to avoid repeating ourselves. The below rewritten BUILD file does a much better job of making the similarities between the Cat and Dog modules explicit, and also prevents them from drifting apart accidentally over time. Fig 8: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") [ # This list-comprehension should feel very reminiscent of Claro's own comprehensions. [ # Generate multiple targets at once by declaring them in a list or some other collection. genrule( name = \"{0}_api\".format(name), srcs = [\"animal.claro_module_api\", \"{0}_cons.claro_module_api\".format(name)], outs = [\"{0}.claro_module_api\".format(name)], cmd = \"cat $(SRCS) > $(OUTS)\" ), claro_module( name = name, module_api_file = \":{0}_api\".format(name), srcs = srcs, deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"], ) ] for name, srcs in {\"dog\": [\"dog.claro\"], \"cat\": [\"cat.claro\"]}.items()\n]","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Using List Comprehension to Define Multiple Similar Targets at Once","id":"269","title":"Using List Comprehension to Define Multiple Similar Targets at Once"},"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"},"270":{"body":"Now let's say that you wanted to declare another \"Animal\" in a totally separate package in your project. You could easily copy-paste the Build targets found in the previous BUILD file... but of course, this would invalidate our goal of avoiding duplication. So instead, as programmers our spider-senses should be tingling that we should factor this common logic not just into the loop (list comprehension), but into a full-blown function that can be reused and called from anywhere in our project. Bazel thankfully gives us access to defining so-called \"Macros\" that fill exactly this purpose [2] . The Build targets in the prior examples could be factored out into a Macro definition in a .bzl (Bazel extension file) like so: Fig 9: # animals.bzl\nload(\"@claro-lang//:rules.bzl\", \"claro_module\") def Animal(name, srcs): native.genrule( # In .bzl files you'll need to prefix builtin rules with `native.` name = \"{0}_api\".format(name), srcs = [\"animal.claro_module_api\", \"{0}_cons.claro_module_api\".format(name)], outs = [\"{0}.claro_module_api\".format(name)], cmd = \"cat $(SRCS) > $(OUTS)\" ) claro_module( name = name, module_api_file = \":{0}_api\".format(name), srcs = srcs, deps = {\"AnimalSounds\": \":animal_sounds\"}, # This Module is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"], ) And then, the macro can be used from BUILD files like so [3] : Fig 10: # BUILD\nload(\":animals.bzl\", \"Animal\") Animal(name = \"dog\", srcs = [\"dog.claro\"])\nAnimal(name = \"cat\", srcs = [\"cat.claro\"]) It couldn't possibly get much more concise than this! If you find yourself in a situation where you'll be defining lots of very similar Modules, it's highly recommended that you at least consider whether an approach similar to this one will work for you.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Declaring a Macro in a .bzl File to Make This Factored Out Build Logic Portable","id":"270","title":"Declaring a Macro in a .bzl File to Make This Factored Out Build Logic Portable"},"271":{"body":"TODO(steving) I think that I probably want to move this to be its own top-level section. TODO(steving) Fill out this section describing how this is effectively Dependency Injection handled at Build time rather than depending on heavyweight DI frameworks. For more context, read about Opaque Types . It's highly recommended to start with Macros, but if you find that a Macro is getting a lot of use (for example if you're publishing it for external consumption) you may find it beneficial to convert your Macro into a Bazel Rule. Bazel Rules have much nicer usage ergonomics as they enable Bazel to enforce certain higher level constraints such as requiring that certain parameters only accept files with a certain suffix. However, Bazel Rules are much more complicated to define than Macros so this should really be left to very advanced Bazel users. In practice, if you want a Bazel Macro to be reusable outside the Build package in which its .bzl file is defined, you'll need to use fully qualified target labels. E.g. //full/path/to:target rather than :target, as the latter is a \"relative\" label whose meaning is dependent on the Build package the Macro is used in, which is usually not what you want.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Swapping Dependencies at Build Time Based on Build Flags","id":"271","title":"Swapping Dependencies at Build Time Based on Build Flags"},"272":{"body":"Continuing to consider the \"Animals\" example from the previous section , let's consider a simple refactoring. As a reminder, previously, calls to AnimalSounds::makeNoise(...) produced very simple output: Fig 1: # animals_example.claro\nvar animals: [oneof] = [ Dog::create(\"Milo\", true), Dog::create(\"Fido\", false), Cat::create(\"Garfield\", \"This is worse than Monday morning.\") ]; for (animal in animals) { print(AnimalSounds::AnimalSounds::makeNoise(animal));\n} Output: Woof!\nGrrrr...\nThis is worse than Monday morning. As currently defined... Fig 2: # BUILD\nload(\":animals.bzl\", \"Animal\") Animal(name = \"dog\", srcs = [\"dog.claro\"])\nAnimal(name = \"cat\", srcs = [\"cat.claro\"]) ...if we wanted to include the animals' names in the printed lines. We'd have to go and manually update each Module's implementation, making changes to both dog.claro and cat.claro (and importantly, to any other animals we'd want to share this updated behavior): Fig 3: # cat.claro\nnewtype InternalState : struct { favoriteInsult: string } implement AnimalSounds::AnimalSounds { function makeNoise(cat: State) -> string { # Cats are mean, they're going to say mean things no matter what. var noise = unwrap(unwrap(cat).internal).favoriteInsult; return \"{noise} - says {unwrap(cat).name}\"; # Analogous code repeated in dog.claro. }\n}\n$$\n$$function create(name: string, favoriteInsult: string) -> State {\n$$ return State({\n$$ name = name,\n$$ internal = InternalState({favoriteInsult = favoriteInsult})\n$$ });\n$$} And now, after making the changes, rerunning will give us the updated output we were looking for: Fig 4: Woof! - says Milo\nGrrrr... - says Fido\nThis is worse than Monday morning. - says Garfield Repetition may be ok in some situations, but in many others, it would represent a risk of potential maintenance costs. Of course, you could always factor out the common logic into a new Module that can be depended on and called explicitly by each animal implementation (and in fact, this is absolutely the recommended approach in most situations ). But, since we're interested in digging into possible Build time metaprogramming capabilities in this section, by way of example, we'll walk through some other ways you could go about sharing this base implementation across Modules that potentially wouldn't have been immediately obvious, coming from other languages.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Source Code » Reusing Source Code","id":"272","title":"Reusing Source Code"},"273":{"body":"The first thing to understand is that a Module's implementation can be spread across multiple source files . This means that different .claro files can satisfy different portions of a Module's API. And, more importantly for our current purposes, this means that instead of creating a whole new Module to contain the common logic factored out of dog.claro and cat.claro, we could instead define a single new file containing that factored out logic... Fig 5: # get_message_with_name.claro\nfunction getMessageWithName(message: string, state: State) -> string { var name = unwrap(state).name; # All animal States have a top-level `name` field. return \"{message} - says {name}\";\n} ...include it in the srcs of BOTH Module declarations... Fig 6: # BUILD\nload(\":animals.bzl\", \"Animal\") # An example of **LITERALLY** reusing code.\nAnimal(name = \"dog\", srcs = [\"dog.claro\", \"get_message_with_name.claro\"])\nAnimal(name = \"cat\", srcs = [\"cat.claro\", \"get_message_with_name.claro\"]) ...and then directly call the factored out function in each Module's implementation! Fig 7: # cat.claro\n$$newtype InternalState : struct { favoriteInsult: string }\n$$\nimplement AnimalSounds::AnimalSounds { function makeNoise(cat: State) -> string { var noise = unwrap(unwrap(cat).internal).favoriteInsult; return getMessageWithName(noise, cat); # Analogous code repeated in dog.claro. }\n}\n$$\n$$function create(name: string, favoriteInsult: string) -> State {\n$$ return State({\n$$ name = name,\n$$ internal = InternalState({favoriteInsult = favoriteInsult})\n$$ });\n$$} This is an example of LITERAL code reuse - something that's generally not actually possible in other languages. In fact, you could take this a step further by factoring out this shared src file directly into the Animal(...) Macro implementation to automatically make the getMessageWithName(...) function available to all Animal(...) declarations. The key to this all working is that when the reused function references the State Type, it refers to either Dog::State or Cat::State depending on the context in which it's compiled. And the only field accessed via unwrap(state).name is valid for both types. In a sense, this form of Build time metaprogramming has given this strongly, statically typed programming language the ability to drop down into dynamic \"duck typing\" features when it's convenient to us. This utterly blurs the lines between the two typing paradigms while still maintaining all of the static type validations because all of this is happening at Build time, with Compile time's type-checking validations still to follow!","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Source Code » claro_module(...) Accepts Multiple Srcs","id":"273","title":"claro_module(...) Accepts Multiple Srcs"},"274":{"body":"The prior example is a demonstration of the \"composition\" model where, in order to share code, you explicitly compose new code around the shared code by manually calling into the shared code. But, of course, while composition is generally recommended over the inverted \"inheritance\" model, many people prefer the convenience that inheritance-based designs offer. Specifically, as you saw in the prior example, composition is more verbose, as you have to explicitly opt in to code sharing, whereas inheritance makes this implicit . Now, instead of each Module implementing the AnimalSounds Contract manually, a single default implementation could be written... Fig 8: # default_animal_sounds_impl.claro\nimplement AnimalSounds::AnimalSounds { function makeNoise(state: State) -> string { return \"{makeNoiseImpl(state)} - says {unwrap(state).name}\"; }\n} ...and then each Animal Module simply needs to define the expected internal implementation function makeNoiseImpl(...) to provide its custom logic... Fig 9: # cat.claro\n$$newtype InternalState : struct { favoriteInsult: string }\n$$\nfunction makeNoiseImpl(cat: State) -> string { # No more code duplication. return unwrap(unwrap(cat).internal).favoriteInsult;\n}\n$$\n$$function create(name: string, favoriteInsult: string) -> State {\n$$ return State({\n$$ name = name,\n$$ internal = InternalState({favoriteInsult = favoriteInsult})\n$$ });\n$$} ...and again, the \"inherited\" code can be included in the srcs of BOTH Module declarations... Fig 10: # BUILD\nload(\":animals.bzl\", \"Animal\") # An example of **LITERALLY** reusing code.\nAnimal(name = \"dog\", srcs = [\"dog.claro\", \"default_animal_sounds_impl.claro\"])\nAnimal(name = \"cat\", srcs = [\"cat.claro\", \"default_animal_sounds_impl.claro\"]) Modern software engineering best practices have been progressing towards the consensus view that you should prefer composition over inheritance. But, even though this preference is generally shared by Claro's author, it shouldn't necessarily indicate that inheritance is impossible to achieve. While Claro won't ever add first-class support for inheritance to the language, Claro explicitly leaves these sorts of design decisions to you and provides Build time metaprogramming support to allow the community to encode these sorts of organizational design patterns themselves to be available for whoever decides they have a good reason for it. You shouldn't need to be hostage to the language designer's agreement or prioritization to be able to extend the code organization patterns that can be expressed in the language.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Source Code » \"Inheritance\" - Inverting the Prior Example","id":"274","title":"\"Inheritance\" - Inverting the Prior Example"},"275":{"body":"If you've made it this far, well done! You may never need to use these \"power user\" features, but you should now have the core conceptual background that you'll need to use Bazel to encode your own relatively sophisticated custom organizational design patterns in your Claro programs using Build time metaprogramming! Of course, there's always another step deeper into such waters. By continuing on to the next section, we'll continue to develop the Animals example even further . In particular, we'll demonstrate one such sophisticated design pattern called \"Abstract Modules\" that fully generalizes all of the functionality described in the past two sections, and goes even further to provide significant configurability controls on top of what you've seen in the example Animal(...) macro so far.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Source Code » Further Flexibility","id":"275","title":"Further Flexibility"},"276":{"body":"In the past couple sections we've worked through examples of some fairly complex Build time metaprogramming to generate Modules that share some common behaviors between them. Having those low-level Build tools in your back pocket is something that may very well come in handy during your Claro development journey. However, in general, it's worth acknowledging that there's some inherent complexity in the prior approaches. It's my hope that the community will standardize around some well-defined set of Build design patterns that are encoded into well-known, standardized interfaces (Bazel Macros/Rules) to abstract away the low-level complexity underneath. In this section, I'll try to demonstrate what such a standardized encoding might look like for the design pattern demonstrated in the prior sections.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Abstract Modules","id":"276","title":"Abstract Modules"},"277":{"body":"The Animal(...) Macro defined in the previous sections was extremely rigid. It encoded exactly one specific code structure. It was arguably a very useful structure, but if we wanted to create an Animal(...) that deviated even slightly from the expected structure, you'd either have to go and refactor the Macro definition itself and all usages to add support for new behaviors, or you'd just have to fall back to manually defining a Module, losing all Build level code sharing that you were trying to achieve with the standardized Animal(...) Macro. All that said, the biggest limitation of the approach in the prior sections is that it was bespoke . While all the customizability that Build time metaprogramming gives you blows the design space wide open, it also makes it that much harder for anyone unfamiliar with the domain to follow what's going on.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Limitations of the Approach in the Prior Sections","id":"277","title":"Limitations of the Approach in the Prior Sections"},"278":{"body":"Arguably, the Animal(...) macro from the previous sections could be described as an encoding of an \"Abstract Module\" (in a sense vaguely similar to Java's \"Abstract Classes\" - minus the object-orientation). \"Abstract\" in the sense that some portions of all \"Animal\" Modules are known before even knowing the \"concrete Animal\" Modules that you'll specifically build later on. But there's nothing about this concept itself that's unique to \"Animals\". All sorts of categories of similar Modules can be imagined, and they could potentially all benefit from a similar \"Abstract\" base encoding that later gets specialized for each concrete Module. Largely as a draft demonstration of what a standardized encoding of this \"Abstract Module\" design pattern could look like, Claro provides a claro_abstract_module(...) Bazel Macro. Now, the Animal(...) Macro can be auto-generated in a few lines by simply calling the claro_abstract_module(...) Macro. Fig 1: # animal.bzl\nload( \"@claro-lang//stdlib/utils/abstract_modules:abstract_module.bzl\", \"claro_abstract_module\",\n) Animal = \\ claro_abstract_module( name = \"Animal\", module_api_file = \"animal.claro_module_api\", overridable_srcs = { \"AnimalSoundsImpl\": \":default_animal_sounds_impl.claro\", \"InternalStateAndConstructor\": \":default_internal_state.claro\", \"MakeNoiseImpl\": \":default_make_noise_impl.claro\", }, default_deps = { \"AnimalSounds\": \":animal_sounds\", }, default_exports = [\"AnimalSounds\"], )","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Abstracting Away the \"Abstract Module\" Pattern Itself","id":"278","title":"Abstracting Away the \"Abstract Module\" Pattern Itself"},"279":{"body":"On top of being a standardized encoding of this design pattern, \"Abstract Modules\" provide an additional mechanism for various components of the Module to be override-able. In the Animal = claro_abstract_module(...) declaration above, the overridable_srcs = {...} arg lists a few different named components that have default implementations provided as .claro source files that can be optionally overridden by any concrete Animal(...) usages. For the sake of demonstration, the \"Abstract Animal Module\" has been decomposed into a relatively fine granularity, allowing significant customization to downstream users of the Macro. So now the Animal(...) macro can be used very similarly as in the previous sections, but with some slightly different arguments: Fig 2: # BUILD\nload(\":animal.bzl\", \"Animal\") [ Animal( name = animal, api_extensions = [\":{0}_cons.claro_module_api\".format(animal)], override = { \"InternalStateAndConstructor\": \":{0}_state_and_cons.claro\".format(animal), \"MakeNoiseImpl\": \":{0}_noise.claro\".format(animal), }, ) for animal in [\"dog\", \"cat\"]\n] # ... The first notable detail is that the idea of extending Module APIs is now encoded directly into the \"Abstract Module\" Macros returned by claro_abstract_module(...) in the form of the api_extensions = [...] parameter. So now, we didn't need to manually concatenate api files using a Bazel genrule(...) as we did in the prior sections . Then, notice that the concrete cat and dog Animal Modules now implicitly inherit the default AnimalSoundsImpl implementation, while explicitly overriding InternalStateAndConstructor and MakeNoiseImpl with custom implementations. Now, these Module definitions can be used exactly the same as they were when defined using the approach(es) from the prior sections. As one final motivating example, to demonstrate something that this new Animal(...) implementation can do that the prior implementation(s) couldn't, we can also define a new Animal Module that overrides the default AnimalSounds Contract implementation, by overriding AnimalSoundsImpl: Fig 3: # platypus_animal_sounds_impl.claro\nimplement AnimalSounds::AnimalSounds { function makeNoise(state: State) -> string { var name = unwrap(state).name; if (unwrap(unwrap(state).internal).isWearingFedora) { # https://youtu.be/KFssdwb7dF8?si=Omgf1-D3qIBY6jO9 var codename = name[0]; return \"!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent {codename}\"; } return \"Chirp Chirp - says {name}\"; }\n} Fig 4: # BUILD\nload(\":animal.bzl\", \"Animal\") # ... Animal( name = \"platypus\", api_extensions = [\":platypus_cons.claro_module_api\"], override = { \"AnimalSoundsImpl\": \":platypus_animal_sounds_impl.claro\", \"InternalStateAndConstructor\": \":platypus_state_and_cons.claro\", },\n) And now, our demo program can start use the platypus Module just as it was using the dog and cat Modules previously: Fig 5: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") # ... claro_binary( name = \"animals_example\", main_file = \"animals_example.claro\", deps = { \"AnimalSounds\": \":animal_sounds\", \"Cat\": \":cat\", \"Dog\": \":dog\", \"Platypus\": \":platypus\", },\n) Fig 6: # animals_example.claro\nvar animals: [oneof] = [ Dog::create(\"Milo\", true), Dog::create(\"Fido\", false), Cat::create(\"Garfield\", \"This is worse than Monday morning.\"), Platypus::create(\"Perry\", false), Platypus::create(\"Perry\", true) ]; for (animal in animals) { print(AnimalSounds::AnimalSounds::makeNoise(animal));\n} Output: Woof! - says Milo\nGrrrr... - says Fido\nThis is worse than Monday morning. - says Garfield\nChirp Chirp - says Perry\n!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent P","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Override Flexibility","id":"279","title":"Override Flexibility"},"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"},"280":{"body":"The point of this section is really to demonstrate some possibilities available to all Claro users interested in writing Bazel Macros to encode relatively complex design patterns. And, I think we can agree that being able to hand-roll the very concept of inheritance without having to make a single change to the Claro compiler itself is a rather powerful capability! But to say it once more, this is all meant as a demonstration, rather than encouragement of specific usage of this claro_abstract_module(...) Macro. So, we won't dive any further into the implementation details of how this prototype works, and we won't even go into the full range of capabilities that this prototype currently supports. However, if you're sufficiently interested that you really wanted to know more, feel free to check out the implementation yourself! You'll probably learn a lot about Bazel in the process of reading through it, so it could be enlightening.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Additional Knobs & Implementation Details","id":"280","title":"Additional Knobs & Implementation Details"},"281":{"body":"Claro aims to provide an expansive standard library of modules that all Claro programs have an implicit dependency on at all times. Any of these default StdLib modules can be accessed directly with calls like: Fig 1: $$ var l: mut [int] = mut [];\nlists::add(l, 1);\nlists::add(l, 2);\n$$ print(l); Output: mut [1, 2] and you never need to manually place an explicit dependency at the BUILD level like you normally would for any other module outside the StdLib: Fig 2: claro_binary( name = \"some_binary\", main_file = \"some_file.claro\", deps = { # Deps on modules outside the StdLib require an explicit Build dep. \"SomeDep\": \"//path/to/some/dep:module\", },\n)","breadcrumbs":"Default Modules » Default Modules","id":"281","title":"Default Modules"},"282":{"body":"Of course, as Claro's still at a very early stage, a certain level of incompleteness has to be expected. Please don't hesitate to reach out with suggestions in ways that the current standard library could be improved or expanded!","breadcrumbs":"Default Modules » The StdLib is a WIP - Recommendations are Welcome!","id":"282","title":"The StdLib is a WIP - Recommendations are Welcome!"},"283":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. function parseBoolean(s: string) -> boolean;","breadcrumbs":"Default Modules » booleans » booleans","id":"283","title":"booleans"},"284":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # This module simply exposes the functionality from java.util.ArrayDeque to Claro programs. See:\n# - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayDeque.html # Deque = \"Double-ended queue\".\nopaque newtype mut Deque atom NO_SUCH_ELEMENT\natom DEQUE_UNCHANGED provider create() -> Deque;\nfunction of(elems: [T]) -> Deque;\nfunction withCapacity(initialCapacity: int) -> Deque; consumer addAllToFront(deque: Deque, elems: [T]); consumer addFirst(deque: Deque, t: T);\nconsumer addLast(deque: Deque, t: T); consumer clear(deque: Deque); # TODO(steving) Claro's intended to have support for the builtin `copy()` function. For $java_type's however this can't\n# TODO(steving) be automatically generated, so I need some mechanism for $java_type's to provide a function for that\n# TODO(steving) copying implementation.\nfunction clone(deque: Deque) -> Deque; function contains(deque: Deque, t: T) -> boolean;\nfunction containsAll(deque: Deque, elems: [T]) -> boolean; consumer forEach(deque: Deque, action: consumer); function isEmpty(deque: Deque) -> boolean; function peekFirst(deque: Deque) -> oneof;\nfunction peekLast(deque: Deque) -> oneof; function pollFirst(deque: Deque) -> oneof;\nfunction pollLast(deque: Deque) -> oneof; function removeAll(deque: Deque, elems: [T]) -> oneof;\nfunction removeElement(deque: Deque, t: T) -> oneof;\nfunction removeFirst(deque: Deque) -> oneof;\nfunction removeFirstOccurrence(deque: Deque, t: T) -> oneof;\nfunction removeIf(deque: Deque, predicate: function boolean>) -> oneof;\nfunction removeLast(deque: Deque) -> oneof;\nfunction removeLastOccurrence(deque: Deque, t: T) -> oneof; function retainAll(deque: Deque, elems: [T]) -> oneof; function size(deque: Deque) -> int;","breadcrumbs":"Default Modules » deque » deque","id":"284","title":"deque"},"285":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. newtype InvalidNumberFormat : struct { msg: string } static MAX_VALUE: double;\nstatic MIN_VALUE: double; function parseDouble(s: string) -> oneof>;","breadcrumbs":"Default Modules » doubles » doubles","id":"285","title":"doubles"},"286":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # Opaque type whose internal representation is not exposed to consumers. This cannot be unwrapped OR initialized by any\n# code outside of this module's srcs.\nopaque newtype Resource\nnewtype IOError : string # Now some claro file could read a resource declared in its build target as:\n# claro_module(\n# name = \"foo\",\n# module_api_file = \"foo.claro_module_api\",\n# srcs = [\"foo.claro\"],\n# resources = {\"MyFile\": \"myfile.txt\"},\n# }\n# Inside `foo.claro`:\n# var fileContents: string = files::readOrPanic(resources::MyFile);\nfunction read(resource: Resource) -> oneof>;\nfunction readOrPanic(resource: Resource) -> string;","breadcrumbs":"Default Modules » files » files","id":"286","title":"files"},"287":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. newtype InvalidNumberFormat : struct { msg: string } static MAX_VALUE: float;\nstatic MIN_VALUE: float; function parseFloat(s: string) -> oneof>;","breadcrumbs":"Default Modules » floats » floats","id":"287","title":"floats"},"288":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # Creates a `future` which has its value set immediately upon construction. The getters just return the value. This\n# `future` can't be canceled or timed out and `futures::isDone(futures::immediateFuture(...))` always returns true.\nfunction immediateFuture(t: T) -> future; # Creates a `future` which is cancelled immediately upon construction, so that `futures::isCancelled` always returns `true`.\nprovider immediateCancelledFuture() -> future; # Executes the given tasks, returning a list of Futures holding their status and results when all complete.\nfunction invokeAll(tasks: [provider]) -> [future]; # Attempts to cancel execution of this task. This attempt will fail if the task has already completed, has already been\n# cancelled, or could not be cancelled for some other reason. If successful, and this task has not started when cancel\n# is called, this task should never run. If the task has already started, then the mayInterruptIfRunning parameter\n# determines whether the thread executing this task should be interrupted in an attempt to stop the task.\n#\n# After this method returns, subsequent calls to `futures::isDone` will always return true. Subsequent calls to\n# isCancelled() will always return true if this method returned true.\n#\n# Returns: `false` if the task could not be cancelled, typically because it has already completed normally; `true` otherwise.\nfunction cancel(f: future, mayInterrupt: boolean) -> boolean; # Returns `true` if this task was cancelled before it completed normally, else `false`.\nfunction isCancelled(f: future) -> boolean; # Returns `true` if this task completed. Completion may be due to normal termination, a Panic, or cancellation -- in all\n# of these cases, this method will return `true`.\nfunction isDone(f: future) -> boolean; # Creates a new `future` whose value is a list containing the values of all its input `future`s, if all succeed. The\n# list of results is in the same order as the input list.\n#\n# Canceling this returned `future` will attempt to cancel all the component `future`s, and if any of the provided\n# `future`s fails or is canceled, this one is, too.\nfunction allAsList(futures: [future]) -> future<[T]>; # Creates a `future` that runs the given provider when the futures complete whether or not they're successful.\n# Canceling this future will attempt to cancel all the component futures.\nfunction whenAllComplete(futures: [future], action: provider) -> future;\nfunction whenAllCompleteAsync(futures: [future], action: provider>) -> future; # Creates a `future` that runs the given provider requiring that all passed in futures are successful. If any input\n# fails, the returned future fails immediately. Canceling this future will attempt to cancel all the component futures.\nfunction whenAllSucceed(futures: [future], action: provider) -> future;\nfunction whenAllSucceedAsync(futures: [future], action: provider>) -> future; # Creates a new `future` whose value is a list containing the values of all its successful input futures. The list of\n# results is in the same order as the input list, and if any of the provided futures Panics or is canceled, its\n# corresponding position will contain `futures::DID_NOT_SUCCEED`. Canceling this future will attempt to cancel all the\n# component futures.\nfunction successfulAsList(futures: [future]) -> future<[T]>; # Returns a list of delegate futures that correspond to the futures received in the order that they complete. Delegate\n# futures return the same value as the corresponding input future returns.\n#\n# \"In the order that they complete\" means, for practical purposes, about what you would expect, but there are some\n# subtleties. First, we do guarantee that, if the output future at index n is done, the output future at index n-1 is\n# also done. (But as usual with futures, some listeners for future n may complete before some for future n-1.) However,\n# it is possible, if one input completes with result X and another later with result Y, for Y to come before X in the\n# output future list. (Such races are impossible to solve without global synchronization of all future completions. And\n# they should have little practical impact.)\n#\n# Cancelling a delegate future propagates to input futures once all the delegates complete, either from cancellation or\n# because an input future has completed. If N futures are passed in, and M delegates are cancelled, the remaining M\n# input futures will be cancelled once N - M of the input futures complete. If all the delegates are cancelled, all the\n# input futures will be too.\nfunction inCompletionOrder(futures: [future]) -> [future]; # Schedules action on given delay on the default single-threaded scheduled executor service (separate from the default\n# multi-threaded graph executor service). Actions scheduled via this function will be executed in FIFO order.\nfunction schedule(action: provider, delay: duration::Duration) -> future;\nfunction scheduleAsync(action: provider>, delay: duration::Duration) -> future; # Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with\n# the given period; that is executions will commence after initialDelay then initialDelay+period, then\n# initialDelay + 2 * period, and so on.\n# TODO(steving) Claro really should probably have another procedure type ala \"runnable\" or \"action\" or something rather\n# TODO(steving) than this somewhat nonsensical consumer.\nfunction scheduleAtFixedRate( action: consumer, initialDelay: duration::Duration, period: duration::Duration) -> future; # Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with\n# the given delay between the termination of one execution and the commencement of the next.\nfunction scheduleWithFixedDelay( action: consumer, initialDelay: duration::Duration, delay: duration::Duration) -> future;","breadcrumbs":"Default Modules » futures » futures","id":"288","title":"futures"},"289":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. function map(l: [A], fn: function
    B>) -> [B];\nfunction filter(l: [A], pred: function boolean>) -> [A];\nfunction reduce(l: [A], fn: function<|B, A| -> B>, accum: B) -> B;","breadcrumbs":"Default Modules » fp » fp","id":"289","title":"fp"},"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"},"290":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. static MAX_VALUE: int;\nstatic MIN_VALUE: int; newtype InvalidNumberFormat : struct { msg: string } function parseInt(s: string) -> oneof>;","breadcrumbs":"Default Modules » ints » ints","id":"290","title":"ints"},"291":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # This module simply provides access to the functionality described in:\n# - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html\n# The signatures found here in this module are not a 1:1 match with the signatures in their Java equivalents, however,\n# as all error cases have been intentionally modelled as proper return values wrapped in std::Error<...>. In this way,\n# interacting with any procedures defined in this module will be inherently safe. # TODO(steving) Claro needs some sort of Collection contract or something so that duplicated procedures aren't needed\n# TODO(steving) for mut/immut cases. # TODO(steving) If at all possible, ClaroList.java should be refactored so that it *contains* a List rather than extends\n# TODO(steving) ArrayList directly so that functionality directly from Guava's Lists class can be directly added to\n# TODO(steving) this module w/o losing the performance wins of their \"views\".\n# TODO(steving) - https://guava.dev/releases/23.0/api/docs/com/google/common/collect/Lists.html newtype IndexOutOfBounds : struct {index: int, size: int}\nnewtype IndicesOutOfOrder : struct {invalidLowerBound: int, invalidUpperBound: int}\nnewtype InvalidCapacity : int\nnewtype ElementNotFound : T # Appends the specified element to the end of this list.\nconsumer add(l: mut [T], toAdd: T); # Appends all of the elements in the second list to the end of the first list, in the order they appear in the second.\n# The behavior of this call is undefined if both args reference the same non-empty list.\n#\n# Returns: `true` if this list changed as a result of the call, else `false`.\nfunction addAll(l: mut [T], toAdd: [T]) -> boolean;\nfunction addAllFromMut(l: mut [T], toAdd: mut [T]) -> boolean; # Removes all of the elements from this list. The list will be empty after this call returns.\nconsumer clear(l: mut [T]); # Returns: true if this list contains the specified element, else `false`.\nfunction contains(l: [T], elem: T) -> boolean;\nfunction containsInMut(l: mut [T], elem: T) -> boolean; # Returns: true if this list contains all of the elements of the specified collection, else `false`.\nfunction containsAll(l: [T], elems: [T]) -> boolean;\nfunction containsAllFromMut(l: [T], elems: mut [T]) -> boolean;\nfunction containsAllInMut(l: mut [T], elems: [T]) -> boolean;\nfunction containsAllInMutFromMut(l: mut [T], elems: mut [T]) -> boolean; # Increases the capacity of this list instance, if necessary, to ensure that it can hold at least the number of elements\n# specified by the minimum capacity argument.\nconsumer ensureCapacity(l: mut [T], minCapacity: int); # Performs the given action for each element.\nconsumer forEach(l: [T], action: consumer);\nconsumer forEachInMut(l: mut [T], action: consumer); # Returns the element at the specified position in this list. This is a bounds-checked alternative to directly accessing\n# via the unsafe `[]` which may result in a runtime Panic.\nfunction getAt(l: [T], index: int) -> oneof>;\nfunction getAtInMut(l: mut [T], index: int) -> oneof>; # Returns: the index of the first occurrence of the specified element in this list, or -1 if this list does not contain\n# the element.\nfunction indexOf(l: [T], t: T) -> oneof>>;\nfunction indexOfInMut(l: mut [T], t: T) -> oneof>>; # Inserts all of the elements in the second list into the first list, starting at the specified position. Shifts the\n# element currently at that position (if any) and any subsequent elements to the right (increases their indices). The\n# new elements will appear in the first list in the order that they occur in the second list.\n#\n# Returns: `true` if this list changed as a result of the call, else `false`.\nfunction insertAllAt(l: mut [T], index: int, elems: [T]) -> oneof>;\nfunction insertAllAtFromMut(l: mut [T], index: int, elems: mut [T]) -> oneof>; # Inserts the specified element at the specified position in this list. Shifts the element currently at that position\n# (if any) and any subsequent elements to the right (adds one to their indices).\nfunction insertAt(l: mut [T], index: int, t: T) -> oneof>; # Returns: `true` if this list contains no elements, else `false`.\nfunction isEmpty(l: [T]) -> boolean;\nfunction isEmptyInMut(l: mut [T]) -> boolean; # Returns: the index of the last occurrence of the specified element in this list, or -1 if this list does not contain\n# the element.\nfunction lastIndexOf(l: [T], t: T) -> oneof>>;\nfunction lastIndexOfInMut(l: mut [T], t: T) -> oneof>>; # Removes from this list all of its elements that are contained in the specified collection.\n#\n# Returns: `true` if this list changed as a result of the call, else `false`.\nfunction removeAll(l: mut [T], toRemove: [T]) -> boolean;\nfunction removeAllFromMut(l: mut [T], toRemove: mut [T]) -> boolean; # TODO(steving) Drop `remove()` as builtin token from lexer/parser so that this isn't duplicated.\n# Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one\n# from their indices).\n#\n# Returns: the element that was removed from the list.\nfunction removeAt(l: mut [T], index: int) -> oneof>; # Removes the first occurrence of the specified element from this list, if it is present. If the list does not contain\n# the element, it is unchanged.\n#\n# Returns: `true` if this list contained the specified element, else `false`.\nfunction removeFirst(l: mut [T], t: T) -> boolean; # Removes all of the elements of this list that satisfy the given predicate.\n#\n# Returns: `true` if any elements were removed, else `false`.\nfunction removeIf(l: mut [T], pred: function boolean>) -> boolean; # Replaces each element of this list with the result of applying the operator to that element.\nconsumer replaceAll(l: mut [T], operator: function T>); # Retains only the elements in the first list that are contained in the second list. In other words, removes from the\n# first list all of its elements that are not contained in the second list.\n#\n# Returns: `true` if this list changed as a result of the call, else `false`.\nfunction retainAll(l: mut [T], toRetain: [T]) -> boolean;\nfunction retainAllFromMut(l: mut [T], toRetain: mut [T]) -> boolean; # Replaces the element at the specified position in this list with the specified element. This is a bounds-checked\n# alternative to directly setting via the unsafe `l[index] = ...` which may result in a runtime Panic.\nfunction setAt(l: mut [T], index: int, t: T) -> oneof>; # Sorts this list according to the order induced by the specified comparator.\n# For detailed explanation of \"comparators\", see: https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html\nconsumer sort(l: mut [T], comparator: function<|T, T| -> int>); # Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If\n# `fromInclusive` and `toExclusive` are equal, the returned list is empty.)\nfunction subList(l: [T], fromInclusive: int, toExclusive: int) -> oneof<[T], std::Error, std::Error>;\n# TODO(steving) If at all possible, ClaroList.java should be refactored so that it *contains* a List rather than extends\n# TODO(steving) ArrayList directly so that subListOfMut() can return a proper \"view\".\n# TODO(steving) - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#addAll-int-java.util.Collection-:~:text=This%20method%20eliminates,from%2C%20to).clear()%3B\nfunction subListOfMut(l: mut [T], fromInclusive: int, toExclusive: int) -> oneof, std::Error>; # Trims the capacity of this list instance to be the list's current size. An application can use this operation to\n# minimize the storage of a list instance.\nconsumer trimToSize(l: mut [T]); # Constructs an empty list with the specified initial capacity.\nfunction withInitialCapacity(capacity: int) -> oneof>;","breadcrumbs":"Default Modules » lists » lists","id":"291","title":"lists"},"292":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. newtype InvalidNumberFormat : struct { msg: string } static MAX_VALUE: long;\nstatic MIN_VALUE: long; function parseLong(s: string) -> oneof>;","breadcrumbs":"Default Modules » longs » longs","id":"292","title":"longs"},"293":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # This module simply provides access to the functionality described in:\n# - https://docs.oracle.com/javase/8/docs/api/java/util/Map.html\n# The signatures found here in this module are not a 1:1 match with the signatures in their Java equivalents, however,\n# as all error cases have been intentionally modelled as proper return values wrapped in std::Error<...>. In this way,\n# interacting with any procedures defined in this module will be inherently safe. # TODO(steving) Claro needs some sort of Map contract or something so that duplicated procedures aren't needed\n# TODO(steving) for mut/immut cases. # TODO(steving) If at all possible, ClaroMap.java & ClaroSet.java should be refactored to *contains* a collection rather\n# TODO(steving) than extending the Java collections directly so that functionality directly from Guava's Maps\n# TODO(steving) class can be directly added to this module w/o losing the performance wins of their \"views\".\n# TODO(steving) - https://guava.dev/releases/22.0/api/docs/com/google/common/collect/Maps.html # Returns true if this map contains no key-value mappings.\nfunction isEmpty(m: {K:V}) -> boolean;\nfunction isEmptyMut(m: mut {K:V}) -> boolean; # Returns true if this map maps one or more keys to the specified value. This operation will require time linear in the map size.\nfunction containsValue(m: {K:V}, v: V) -> boolean;\nfunction containsValueInMut(m: mut {K:V}, v: V) -> boolean; # 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;\nfunction getOrDefaultFromMut(m: mut {K:V}, k: K, defaultValue: V) -> V; # Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.\nconsumer clear(m: mut {K:V}); # Returns an immutable set containing the keys of this map.\nfunction keySet(m: {K:V}) -> {K};\n# Returns an immutable set containing the keys of this map. Changes made to the original map *do not* have any affect on\n# the returned set.\nfunction keySetOfMut(m: mut {K:V}) -> {K}; # Returns a mutable set containing the keys of this map. Changes made to either collection have no affect on the other.\nfunction mutKeySet(m: {K:V}) -> mut {K};\nfunction mutKeySetOfMut(m: mut {K:V}) -> mut {K}; # TODO(steving) If at all possible, ClaroSet.java should be refactored so that it *contains* a Set rather than extends\n# TODO(steving) HashSet directly so that maps::mutKeySetOfMut() can return a proper \"view\".\n# TODO(steving) - https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#clear--:~:text=Returns%20a%20Set%20view%20of%20the%20keys%20contained%20in%20this%20map.%20The%20set%20is%20backed%20by%20the%20map%2C%20so%20changes%20to%20the%20map%20are%20reflected%20in%20the%20set%2C%20and%20vice%2Dversa.\n#function mutKeySetViewOfMut(m: mut {K:V}) -> mut {K}; # Returns an immutable set containing the values of this map.\nfunction values(m: {K:V}) -> {V};\n# Returns an immutable set containing the values of this map. Changes made to the original map *do not* have any affect on\n# the returned set.\nfunction valuesOfMut(m: mut {K:V}) -> {V}; # Returns a mutable set containing the values of this map. Changes made to either collection have no affect on the other.\nfunction mutValues(m: {K:V}) -> mut {V};\nfunction mutValuesOfMut(m: mut {K:V}) -> mut {V}; # Returns an immutable set of the mappings contained in this map.\nfunction entrySet(m: {K:V}) -> {tuple};\n# Returns an immutable set of the mappings contained in this map. Changes made to the original map *do not* have any\n# affect on the returned set.\nfunction entrySetOfMut(m: mut {K:V}) -> {tuple}; # Returns a mutable set of the mappings contained in this map.\nfunction mutEntrySet(m: {K:V}) -> mut {tuple};\n# Returns a mutable set of the mappings contained in this map. Changes made to either collection have no affect on the other.\nfunction mutEntrySetOfMut(m: mut {K:V}) -> mut {tuple}; # Performs the given action for each entry in this map until all entries have been processed.\nconsumer forEach(m: {K:V}, action: consumer);\nconsumer forEachInMut(m: mut {K:V}, action: consumer); # Replaces each entry's value with the result of invoking the given function on that entry until all entries have been\n# processed.\nconsumer replaceAll(m: mut {K:V}, mapper: function<|K, V| -> V>); # Associates the specified value with the specified key in this map. If the map previously contained a mapping for the\n# key, the old value is replaced by the specified value.\n#\n# Returns: the previous value associated with key, or `maps::PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY` if there was no\n# mapping for key.\natom PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY\nfunction put(m: mut {K:V}, k: K, v: V) -> oneof; # Copies all of the mappings from the specified map to this map. The effect of this call is equivalent to that of\n# calling `maps::put(m, k, v)` on this map once for each mapping from key k to value v in the specified map.\nconsumer putAll(m: mut {K:V}, from: {K:V});\nconsumer putAllFromMut(m: mut {K:V}, from: mut {K:V}); # If the specified key is not already associated with a value, associates it with the given value and returns\n# `maps::PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY`, else returns the current value.\nfunction putIfAbsent(m: mut {K:V}, k: K, v: V) -> oneof; # Removes the mapping for a key from this map if it is present.\n#\n# Returns: the value to which this map previously associated the key, or `maps::KeyNotFound` if the map contained no\n# mapping for the key.\nfunction removeKey(m: mut {K:V}, k: K) -> oneof>; # Removes the entry for the specified key only if it is currently mapped to the specified value.\nfunction removeEntry(m: mut {K:V}, k: K, v: V) -> boolean; # Replaces the entry for the specified key only if currently mapped to the specified value.\n#\n# Returns: `true` if the value was replaced, else `false`.\nfunction replaceEntry(m: mut {K:V}, k: K, oldValue: V, newValue: V) -> boolean; # Replaces the entry for the specified key only if it is currently mapped to some value.\n#\n# Returns: the previous value associated with the specified key, or `std::Error>` if there was no\n# mapping for the key.\nnewtype KeyNotFound : K\nfunction replace(m: mut {K:V}, k: K, newValue: V) -> oneof>>; # If the specified key is not already associated with a value, attempts to compute its value using the given mapping\n# function and enters it into this map, unless the function returns `maps::DoNotUpdate` in which case no mapping is\n# recorded.\n#\n# Returns: the current (existing or computed) value associated with the specified key, or propagates any\n# `maps::DoNotUpdate` returned by `mapper`.\nnewtype DoNotUpdate : K\nfunction computeIfAbsent( m: mut {K:V}, k: K, mapper: function oneof>>>) -> oneof>>; # If the value for the specified key is present, attempts to compute a new mapping given the key and its current mapped\n# value. If the function returns `maps::REMOVE_ENTRY`, the mapping is removed.\n#\n# Returns: the new value associated with the specified key, propagates `maps::REMOVE_ENTRY` if the entry was removed, or\n# `maps::KeyNotFound` if the key was not present in the map.\natom REMOVE_ENTRY\nfunction computeIfPresent( m: mut {K:V}, k: K, remapper: function<|K, V| -> oneof>) -> oneof>>; # Attempts to compute a mapping for the specified key and its current mapped value (or `maps::KeyNotFound` if there\n# is no current mapping). For example, to either create or append a string msg to a value mapping:\n#\n# maps::compute(\n# someMap,\n# key,\n# lambda (k, v) -> {\n# if (v instanceof maps::KeyNotFound) {\n# return msg;\n# }\n# return \"{v}{msg}\";\n# }\n# );\n# (Method merge() is often simpler to use for such purposes.)\n#\n# If the function returns `maps::REMOVE_ENTRY`, the mapping is removed (or remains absent if initially absent).\n#\n# Returns: the new value associated with the specified key, or propagates `maps::REMOVE_ENTRY` if the entry was removed.\nfunction compute( m: mut {K:V}, k: K, remapper: function<|K, oneof>| -> oneof>) -> oneof; # If the specified key is not already associated with a value, associates it with the given value. Otherwise, replaces\n# the associated value with the results of the given remapping function, or removes if the result is\n# `maps::REMOVE_ENTRY`. This method may be of use when combining multiple mapped values for a key. For example, to\n# either create or append a String msg to a value mapping:\n#\n# maps::merge(someMap, key, msg, lambda (oldVal, newVal) -> {\n# match (newVal) {\n# case _:maps::REMOVE_ENTRY -> return newVal;\n# case _ -> return \"{oldVal}{newVal}\";\n# }\n# });\n#\n# Returns: the new value associated with the specified key, or propagates `std::REMOVE_ENTRY` if the entry was removed.\nfunction merge( m: mut {K:V}, k: K, v: oneof, remapper: function<|V, oneof| -> oneof>) -> oneof;","breadcrumbs":"Default Modules » maps » maps","id":"293","title":"maps"},"294":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. function absInt(i: int) -> int;\nfunction absDouble(d: double) -> double;\nfunction absFloat(f: float) -> float; function ceiling(d: double) -> double;\nfunction ceilingFloat(f: float) -> float; function floor(d: double) -> double;\nfunction floorFloat(f: float) -> float; function maxInt(a: int, b: int) -> int;\nfunction maxDouble(a: double, b: double) -> double;\nfunction maxFloat(a: float, b: float) -> float; function minInt(a: int, b: int) -> int;\nfunction minDouble(a: double, b: double) -> double;\nfunction minFloat(a: float, b: float) -> float; function roundDownToInt(d: double) -> int;\nfunction roundUpToInt(d: double) -> int;\nfunction roundFloatDownToInt(f: float) -> int;\nfunction roundFloatUpToInt(f: float) -> int; function sqrt(d: double) -> double;\nfunction sqrtFloat(f: float) -> float;","breadcrumbs":"Default Modules » math » math","id":"294","title":"math"},"295":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. opaque newtype mut PriorityQueue atom NO_SUCH_ELEMENT provider create() -> PriorityQueue;\nfunction of(elems: [T]) -> PriorityQueue;\nfunction withInitialCapacity(initialCapacity: int) -> PriorityQueue; function peek(pq: PriorityQueue) -> oneof;\nfunction poll(pq: PriorityQueue) -> oneof;\nconsumer add(pq: PriorityQueue, t: T); function removeElement(pq: PriorityQueue, t: T) -> boolean; function size(pq: PriorityQueue) -> int;","breadcrumbs":"Default Modules » priority_queue » priority_queue","id":"295","title":"priority_queue"},"296":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. opaque newtype RandomNumberGenerator # See: https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#random--\nprovider doubleInUnitInterval() -> double; provider create() -> RandomNumberGenerator;\n# TODO(steving) Update this to take a `long` once supported.\nfunction forSeed(seed: int) -> RandomNumberGenerator; function nextBoolean(rng: RandomNumberGenerator) -> boolean;\nfunction nextDouble(rng: RandomNumberGenerator) -> double;\nfunction nextFloat(rng: RandomNumberGenerator) -> float;\nfunction nextInt(rng: RandomNumberGenerator) -> int;\nfunction nextNonNegativeBoundedInt(rng: RandomNumberGenerator, exclusiveUpperBound: int) -> int;","breadcrumbs":"Default Modules » random » random","id":"296","title":"random"},"297":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # Not thread safe.\nopaque newtype mut Scanner atom NO_MORE_TOKENS\natom PATTERN_NOT_FOUND\natom ILLEGAL_NEGATIVE_HORIZON\natom INPUT_MISMATCH provider forStdIn() -> Scanner;\nfunction forString(toScan: string) -> Scanner; function useDelimiter(sc: Scanner, pattern: string) -> Scanner;\nfunction reset(sc: Scanner) -> Scanner; blocking function findInLine(sc: Scanner, pattern: string) -> oneof;\nblocking function findWithinHorizon(sc: Scanner, pattern: string, horizon: int) -> oneof; blocking function hasNextToken(sc: Scanner) -> boolean;\nblocking function hasNextPattern(sc: Scanner, pattern: string) -> boolean;\nblocking function hasNextBoolean(sc: Scanner) -> boolean;\nblocking function hasNextFloat(sc: Scanner) -> boolean;\nblocking function hasNextInt(sc: Scanner) -> boolean;\nblocking function hasNextLine(sc: Scanner) -> boolean; blocking function nextToken(sc: Scanner) -> oneof;\nblocking function nextMatch(sc: Scanner, pattern: string) -> oneof;\nblocking function nextBoolean(sc: Scanner) -> oneof;\nblocking function nextFloat(sc: Scanner) -> oneof;\nblocking function nextInt(sc: Scanner) -> oneof;\nblocking function nextLine(sc: Scanner) -> oneof; blocking function skipPattern(sc: Scanner, pattern: string) -> struct { scanner: Scanner, res: oneof };","breadcrumbs":"Default Modules » scanner » scanner","id":"297","title":"scanner"},"298":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # This module simply provides access to the functionality described in:\n# - https://docs.oracle.com/javase/8/docs/api/java/util/Set.html # TODO(steving) Claro needs some sort of Collection contract so that these procedures can avoid duplication for the\n# TODO(steving) various combinations of mutability annotations. # TODO(steving) If at all possible, ClaroSet.java should be refactored so that it *contains* a Set rather than extends\n# TODO(steving) HashSet directly so that functionality directly from Guava's Sets class can be directly added to\n# TODO(steving) this module w/o losing the performance wins of their \"views\".\n# TODO(steving) - https://guava.dev/releases/23.0/api/docs/com/google/common/collect/Sets.html provider emptySet() -> {T};\nprovider emptyMutSet() -> mut {T}; # 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; # Adds all of the elements in the specified collection to this set if they're not already present.\n#\n# Returns: true if the set changed as a result of the call.\nfunction addAllFromList(s: mut {T}, toAdd: [T]) -> boolean;\nfunction addAllFromMutList(s: mut {T}, toAdd: mut [T]) -> boolean;\n# Adds all of the elements in the second set to the first set if they're not already present. This operation effectively\n# modifies the first set so that its value is the union of the two sets.\n#\n# Returns: true if the first set changed as a result of the call.\nfunction addAllFromSet(s: mut {T}, toAdd: {T}) -> boolean;\nfunction addAllFromMutSet(s: mut {T}, toAdd: mut {T}) -> boolean; # Removes all of the elements from this set. The set will be empty after this call returns.\nconsumer clear(s: mut {T}); # Returns true if this set contains all of the elements of the specified collection.\nfunction containsAll(s: {T}, elems: [T]) -> boolean;\nfunction containsAllFromMut(s: {T}, elems: mut [T]) -> boolean;\nfunction containsAllInMut(s: mut {T}, elems: [T]) -> boolean;\nfunction containsAllInMutFromMut(s: mut {T}, elems: mut [T]) -> boolean; # Performs the given action for each element.\nconsumer forEach(s: {T}, action: consumer);\nconsumer forEachInMut(s: mut {T}, action: consumer); # This method returns true if the first set is a superset of the second set. Note, this procedure returns true if the\n# two sets are equal.\nfunction isSuperset(s: {T}, other: {T}) -> boolean;\nfunction isSupersetOfMut(s: {T}, other: mut {T}) -> boolean;\nfunction isMutSuperset(s: mut {T}, other: {T}) -> boolean;\nfunction isMutSupersetOfMut(s: mut {T}, other: mut {T}) -> boolean; # This method returns true if the first set is a subset of the second set. Note, this procedure returns true if the two\n# sets are equal.\nfunction isSubset(s: {T}, other: {T}) -> boolean;\nfunction isSubsetOfMut(s: {T}, other: mut {T}) -> boolean;\nfunction isMutSubset(s: mut {T}, other: {T}) -> boolean;\nfunction isMutSubsetOfMut(s: mut {T}, other: mut {T}) -> boolean; # Returns true if this set contains no elements.\nfunction isEmpty(s: {T}) -> boolean;\nfunction isEmptyForMut(s: mut {T}) -> boolean; # Removes the specified element from this set if it is present.\nfunction removeElem(s: mut {T}, elem: T) -> boolean; # Removes from this set all of its elements that are contained in the specified list.\n#\n# Returns: true if this set changed as a result of the call.\nfunction removeAll(s: mut {T}, elems: [T]) -> boolean;\nfunction removeAllFromMut(s: mut {T}, elems: mut [T]) -> boolean;\n# Removes from the first set all of its elements that are contained in the second set. This operation effectively\n# modifies the first set so that its value is the asymmetric set difference of the two sets.\n#\n# Returns: true if this set changed as a result of the call.\nfunction removeAllFromSet(s: mut {T}, elems: {T}) -> boolean;\nfunction removeAllFromMutSet(s: mut {T}, elems: mut {T}) -> boolean; # Removes all of the elements of this collection that satisfy the given predicate.\n#\n# Returns: true if any elements were removed.\nfunction removeIf(s: mut {T}, predicate: function boolean>) -> boolean; # Retains only the elements in this set that are contained in the specified list. In other words, removes from this set\n# all of its elements that are not contained in the specified list.\n#\n# Returns: true if this set changed as a result of the call.\nfunction retainAll(s: mut {T}, elems: [T]) -> boolean;\nfunction retainAllFromMut(s: mut {T}, elems: mut [T]) -> boolean;\n# Retains only the elements in the first set that are contained in the second set. In other words, removes from the\n# first set all of its elements that are not contained in the second set. This operation effectively modifies this set\n# so that its value is the intersection of the two sets.\n#\n# Returns: true if this set changed as a result of the call.\nfunction retainAllFromSet(s: mut {T}, elems: {T}) -> boolean;\nfunction retainAllFromMutSet(s: mut {T}, elems: mut {T}) -> boolean;","breadcrumbs":"Default Modules » sets » sets","id":"298","title":"sets"},"299":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. ########################################################################################################################\n# This file contains simple definitions of builtin types that come as part of Claro's stdlib. Very likely this will get\n# reorganized over time, for now it's a single centralized dumping ground.\n######################################################################################################################## atom Nothing atom OK\nnewtype Error : T newtype ParsedJson : struct { result: oneof>, rawJson: string\n}","breadcrumbs":"Default Modules » std » std","id":"299","title":"std"},"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 provides an easy-to-use abstraction to statically guarantee that programs are: Non-blocking Data-race free Deadlock free Optimally scheduled Scalable 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"},"300":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # Simply exposing the functionality documented at the links below to Claro programs:\n# - https://docs.oracle.com/javase/8/docs/api/java/lang/String.html\n# - https://guava.dev/releases/31.1-jre/api/docs/com/google/common/base/Strings.html\n# TODO(steving) Make this api safe so that nothing can throw a runtime exception. atom NOT_FOUND function fromChar(c: char) -> string; function charAt(s: string, i: int) -> char; function commonPrefix(s: string, other: string) -> string;\nfunction commonSuffix(s: string, other: string) -> string; function compareTo(s: string, other: string) -> int;\nfunction compareToIgnoreCase(s: string, other: string) -> int; function concat(s: string, other: string) -> string; function contains(s: string, other: string) -> boolean; function endsWith(s: string, other: string) -> boolean; function equalsIgnoreCase(s: string, other: string) -> boolean; function indexOf(s: string, of: string) -> oneof;\nfunction indexOfFromIndex(s: string, of: string, from: int) -> oneof; function isEmpty(s: string) -> boolean; function join(delimiter: string, parts: [string]) -> string; function lastIndexOf(s: string, of: string) -> oneof;\nfunction lastIndexOfFromIndex(s: string, of: string, from: int) -> oneof; function matches(s: string, regex: string) -> boolean; # TODO(steving) Revisit this once Claro has support for chars. Should support configurable padding char.\nfunction padEnd(s: string, minLength: int) -> string;\nfunction padStart(s: string, minLength: int) -> string; function regionMatches(s: string, s_offset: int, other: string, o_offset: int, regionLen: int) -> boolean;\nfunction regionMatchesIgnoreCase(ignoreCase: boolean, s: string, s_offset: int, other: string, o_offset: int, regionLen: int) -> boolean; function repeated(s: string, count: int) -> string; function replace(s: string, target: string, replacement: string) -> string;\nfunction replaceAll(s: string, regex: string, replacement: string) -> string;\nfunction replaceFirst(s: string, regex: string, replacement: string) -> string; function split(s: string, regex: string) -> [string];\nfunction splitWithLimit(s: string, regex: string, limit: int) -> [string];\nfunction splitChars(s: string) -> [char]; function startsWith(s: string, other: string) -> boolean;\nfunction startsWithFromIndex(s: string, other: string, from: int) -> boolean; function substring(s: string, beginInclusive: int, endExclusive: int) -> string;\nfunction suffix(s: string, beginInclusive: int) -> string; function toLowerCase(s: string) -> string;\nfunction toUpperCase(s: string) -> string; function trim(s: string) -> string;","breadcrumbs":"Default Modules » strings » strings","id":"300","title":"strings"},"301":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. opaque newtype StringBuilder provider create() -> StringBuilder; # Add anything to the end of the StringBuilder. It will be converted to its string representation automatically.\nfunction add(sb: StringBuilder, toAdd: T) -> StringBuilder;\nfunction build(sb: StringBuilder) -> string;","breadcrumbs":"Default Modules » string_builder » string_builder","id":"301","title":"string_builder"},"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":"Formatting strings is an incredibly common programming task, whether it be for the sake of debugging or for building full-fledged CLI programs. Claro attempts to simplify this process by providing syntax sugar for directly templating arbitrary expressions directly into a string. Note : At the moment, Claro only supports single-line strings, but multi-line strings are planned. Stay tuned for this in a future release. To take advantage of this, any expression can be formatted into a string by wrapping it in {...}. Fig 1: var s = \"!EXAMPLE!\";\nprint(\"prefix---{s}--suffix\"); provider foo() -> string { return \"WOW!\";\n} # Formatted expressions really are arbitrary expressions, you can even call\n# arbitrary procedures from them.\nprint(\"prefix---{foo()}---suffix\"); # Format strings can even be nested, though you should probably have a good\n# reason for doing this.\nprint(\"prefix---{\"inner+++{s}+++inner\"}---suffix\"); # You can also use multiple fmt arg expressions!\nprint(\"Name:\\t{getRandomName()}\\nAge:\\t{random::nextNonNegativeBoundedInt(random::forSeed(1), 20)}\"); provider getRandomName() -> string { # ...\n$$ var names = [\"Milo\", \"Millie\", \"Ruby\"];\n$$\n$$ random::forSeed(2)\n$$ |> random::nextNonNegativeBoundedInt(^, 3)\n$$ |> var ind = ^;\n$$\n$$ return names[ind];\n} Output: prefix---!EXAMPLE!--suffix\nprefix---WOW!---suffix\nprefix---inner+++!EXAMPLE!+++inner---suffix\nName:\tMillie\nAge:\t5","breadcrumbs":"Common Programming Concepts » String Formatting » String Formatting","id":"48","title":"String Formatting"},"49":{"body":"While Format Strings are very convenient, this does have the consequence of giving curly-braces a special significance in string literals. So, to type a string literal that contains the { char, you must escape it using \\{, for example: Fig 2: print(\"This string has \\{literal \\{curlies} in it}\"); Output: This string has {literal {curlies} in it}","breadcrumbs":"Common Programming Concepts » String Formatting » Escaping Curly-Braces in Strings","id":"49","title":"Escaping Curly-Braces in Strings"},"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":"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":"50","title":"Control Flow"},"51":{"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":"51","title":"If-Else"},"52":{"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":"52","title":"While Loops"},"53":{"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":"53","title":"Exiting a While Loop Early"},"54":{"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":"54","title":"Skipping to the Next Iteration of the While Loop"},"55":{"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":"55","title":"For Loops"},"56":{"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":"56","title":"For Loop Over Lists"},"57":{"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":"57","title":"For Loop Over Sets"},"58":{"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":"58","title":"For Loop Over Maps"},"59":{"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":"59","title":"Note 1 :"},"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":"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":"60","title":"Note 2 :"},"61":{"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":"61","title":"Exiting a For Loop Early"},"62":{"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":"62","title":"Skipping to the Next Iteration of the For Loop"},"63":{"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...\nRepeating...","breadcrumbs":"Common Programming Concepts » Control Flow » Repeat » Repeat Loops","id":"63","title":"Repeat Loops"},"64":{"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":"64","title":"Pipes"},"65":{"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":"65","title":"Textually Linear Data Flow"},"66":{"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":"66","title":"Pattern Matching"},"67":{"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":"67","title":"\"Default\" Case"},"68":{"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":"68","title":"Multi-Statement Cases"},"69":{"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":"69","title":"Patterns Must Not Reference Existing Variables"},"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! 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":"70","title":"Matching Structured Data"},"71":{"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":"71","title":"Matching Arbitrarily Nested Structured Types"},"72":{"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":"72","title":"Wildcard Patterns"},"73":{"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":"73","title":"Case Ordering and Wildcards"},"74":{"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":"74","title":"Static Exhaustiveness Checks"},"75":{"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":"75","title":"Non-Trivial Exhaustiveness Checks Example"},"76":{"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":"76","title":"Collection Comprehension"},"77":{"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":"77","title":"List Comprehension"},"78":{"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":"78","title":"Set Comprehension"},"79":{"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":"79","title":"Map Comprehension"},"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":"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":"80","title":"Comprehension is More Than Syntax Sugar"},"81":{"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":"81","title":"Types"},"82":{"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":"82","title":"Builtin Collections"},"83":{"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":"83","title":"Ad-Hoc Declarations"},"84":{"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":"84","title":"Mutability"},"85":{"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":"85","title":"Mutability Annotations are Shallow"},"86":{"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":"86","title":"Data Race Safety via Deep Immutability"},"87":{"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":"87","title":"Lists"},"88":{"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":"88","title":"Accessing List Elements"},"89":{"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":"89","title":"Mutable List Element Reassignment"},"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":"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":"90","title":"Index-Out-Of-Bounds"},"91":{"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":"91","title":"Stdlib lists Module"},"92":{"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":"92","title":"Empty Lists"},"93":{"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":"93","title":"Empty List Type Inference By Later Usage (Will Never Be Supported)"},"94":{"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":"94","title":"Sets"},"95":{"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":"95","title":"Adding Elements to a Mutable Set"},"96":{"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":"96","title":"Maps"},"97":{"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":"97","title":"Checking if a Key Exists"},"98":{"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":"98","title":"Iterating Over the Entries of a Map"},"99":{"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":"99","title":"Stdlib maps Module"}},"length":302,"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":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":33,"docs":{"101":{"tf":1.0},"102":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"170":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"248":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"87":{"tf":1.0},"90":{"tf":1.4142135623730951}},"}":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.0},"270":{"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":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.0},"270":{"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":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"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":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"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":{}}}},"df":0,"docs":{}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"175":{"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":{"137":{"tf":1.0}}},"3":{"5":{"df":0,"docs":{},"e":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{".":{"5":{"5":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{".":{"0":{"df":1,"docs":{"184":{"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":{"149":{"tf":1.0},"184":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"df":6,"docs":{"131":{"tf":1.0},"149":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"51":{"tf":1.4142135623730951},"72":{"tf":1.0}},"x":{"1":{"0":{"0":{"0":{"df":0,"docs":{},"x":{"1":{"0":{"0":{"0":{"df":1,"docs":{"184":{"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":30,"docs":{"108":{"tf":2.449489742783178},"109":{"tf":3.1622776601683795},"123":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"155":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"179":{"tf":2.23606797749979},"197":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"95":{"tf":1.0}},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"1":{"1":{"1":{"1":{"1":{"1":{"1":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"87":{"tf":1.0}}},"df":2,"docs":{"139":{"tf":1.0},"173":{"tf":1.0}}},"2":{"df":1,"docs":{"94":{"tf":1.0}}},"5":{".":{"0":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"141":{"tf":1.0},"146":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"45":{"tf":1.0}}},":":{"1":{"df":2,"docs":{"291":{"tf":1.0},"293":{"tf":1.0}}},"_":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"df":139,"docs":{"10":{"tf":1.0},"101":{"tf":2.0},"102":{"tf":1.7320508075688772},"103":{"tf":2.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"113":{"tf":1.0},"114":{"tf":2.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"132":{"tf":2.23606797749979},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":2.0},"15":{"tf":1.4142135623730951},"150":{"tf":2.449489742783178},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.449489742783178},"179":{"tf":2.0},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":2.0},"186":{"tf":2.8284271247461903},"187":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":3.0},"209":{"tf":1.0},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"221":{"tf":1.4142135623730951},"223":{"tf":1.0},"228":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"253":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.0},"261":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":2.8284271247461903},"74":{"tf":1.4142135623730951},"75":{"tf":3.4641016151377544},"77":{"tf":2.23606797749979},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.4142135623730951},"83":{"tf":2.449489742783178},"84":{"tf":2.23606797749979},"85":{"tf":2.449489742783178},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}},"m":{"b":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"*":{"a":{"df":1,"docs":{"114":{"tf":1.0}}},"b":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"7":{"3":{"9":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":3,"docs":{"109":{"tf":1.0},"158":{"tf":1.0},"48":{"tf":1.0}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"df":1,"docs":{"180":{"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":{"96":{"tf":1.7320508075688772}}},"9":{"df":4,"docs":{"106":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"207":{"tf":2.449489742783178},"96":{"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":112,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"16":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"170":{"tf":1.0},"175":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"178":{"tf":2.23606797749979},"179":{"tf":1.0},"180":{"tf":2.0},"181":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"187":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"193":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"224":{"tf":1.0},"228":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.7320508075688772},"288":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"71":{"tf":1.7320508075688772},"73":{"tf":3.4641016151377544},"74":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"3":{".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"158":{"tf":1.0}}},"2":{"df":2,"docs":{"155":{"tf":1.0},"45":{"tf":1.0}}},"3":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"df":86,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":2.0},"121":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"164":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.0},"180":{"tf":2.0},"181":{"tf":1.0},"183":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"19":{"tf":1.0},"193":{"tf":1.0},"197":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"228":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":2.23606797749979},"75":{"tf":3.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0}},"r":{"d":{"df":2,"docs":{"215":{"tf":1.0},"252":{"tf":1.0}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"115":{"tf":1.0}}},"df":0,"docs":{}},"df":53,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"195":{"tf":1.0},"20":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"99":{"tf":1.0}}},"5":{"0":{"df":2,"docs":{"231":{"tf":1.0},"257":{"tf":1.0}}},"4":{"3":{"2":{"df":2,"docs":{"210":{"tf":1.0},"257":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":43,"docs":{"103":{"tf":1.0},"123":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"165":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"189":{"tf":1.0},"197":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"248":{"tf":1.4142135623730951},"251":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"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":{"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"45":{"tf":1.0}}},"6":{"df":1,"docs":{"51":{"tf":2.0}}},"df":24,"docs":{"103":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.4142135623730951},"158":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"197":{"tf":1.0},"206":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"228":{"tf":1.0},"26":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}}},"7":{"5":{"4":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":13,"docs":{"124":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"172":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.7320508075688772}}},"8":{"0":{"8":{"0":{"df":4,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"139":{"tf":1.0},"152":{"tf":1.4142135623730951},"172":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"262":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.0},"29":{"tf":1.0},"52":{"tf":1.0}}},"9":{"9":{"9":{"9":{"9":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"103":{"tf":2.0},"179":{"tf":1.4142135623730951},"187":{"tf":2.8284271247461903},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}},"df":7,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"172":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"52":{"tf":1.0},"54":{"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":{"74":{"tf":1.4142135623730951}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"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":{"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":{}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"74":{"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":25,"docs":{"108":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"154":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.0},"219":{"tf":1.0},"235":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"293":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":3.872983346207417},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"263":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{"_":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":2,"docs":{"167":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"a":{"df":1,"docs":{"179":{"tf":2.23606797749979}}},"df":0,"docs":{}},"b":{"c":{"d":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"107":{"tf":1.4142135623730951},"153":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"255":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0}}}},"o":{"df":0,"docs":{},"v":{"df":53,"docs":{"110":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"197":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"235":{"tf":1.4142135623730951},"241":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.7320508075688772},"263":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"279":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"51":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"s":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"115":{"tf":1.0},"157":{"tf":1.0},"272":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"236":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":2.6457513110645907},"279":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":13,"docs":{"134":{"tf":1.0},"156":{"tf":1.7320508075688772},"170":{"tf":1.0},"173":{"tf":1.0},"181":{"tf":1.0},"217":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"267":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":26,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"123":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.7320508075688772},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.0},"214":{"tf":1.0},"237":{"tf":1.0},"269":{"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":4,"docs":{"169":{"tf":1.0},"173":{"tf":1.0},"190":{"tf":1.0},"243":{"tf":1.0}}}}}}}},"r":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"222":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"155":{"tf":2.6457513110645907},"289":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"155":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"213":{"tf":1.0},"39":{"tf":1.0}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":10,"docs":{"108":{"tf":1.0},"160":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.7320508075688772},"259":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"36":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"t":{"df":2,"docs":{"239":{"tf":1.0},"267":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"284":{"tf":1.0},"288":{"tf":3.3166247903554},"291":{"tf":1.7320508075688772},"293":{"tf":1.7320508075688772},"298":{"tf":1.7320508075688772}}}},"v":{"df":3,"docs":{"243":{"tf":1.0},"263":{"tf":1.0},"7":{"tf":2.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":64,"docs":{"102":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"127":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":2.23606797749979},"173":{"tf":2.0},"174":{"tf":1.4142135623730951},"180":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"201":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"213":{"tf":1.7320508075688772},"215":{"tf":1.0},"216":{"tf":1.0},"22":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":2.6457513110645907},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"273":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"231":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":5,"docs":{"134":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"192":{"tf":1.0},"193":{"tf":1.0}}}},"x":{"df":2,"docs":{"141":{"tf":1.0},"146":{"tf":1.0}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":2,"docs":{"298":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":2,"docs":{"291":{"tf":1.0},"91":{"tf":1.0}}},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}},"s":{"b":{"df":1,"docs":{"301":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":18,"docs":{"135":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"166":{"tf":1.0},"169":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.7320508075688772},"30":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"165":{"tf":1.0},"190":{"tf":1.0},"210":{"tf":1.0},"257":{"tf":1.0},"267":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"66":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.0},"239":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":2,"docs":{"109":{"tf":2.449489742783178},"197":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":21,"docs":{"116":{"tf":1.0},"124":{"tf":1.0},"140":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"170":{"tf":1.0},"178":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"268":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":14,"docs":{"113":{"tf":1.0},"164":{"tf":1.0},"195":{"tf":1.0},"207":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"39":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"83":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"194":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"138":{"tf":1.4142135623730951},"147":{"tf":1.0},"164":{"tf":1.0},"235":{"tf":1.0},"248":{"tf":1.0},"265":{"tf":1.4142135623730951},"271":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"144":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.4142135623730951},"229":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"39":{"tf":1.0},"48":{"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":2,"docs":{"149":{"tf":1.0},"293":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":11,"docs":{"109":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"184":{"tf":1.0},"202":{"tf":1.0},"240":{"tf":1.0},"274":{"tf":1.0},"64":{"tf":2.0},"65":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"187":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.0},"66":{"tf":1.0}}}}}}},"df":4,"docs":{"106":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"207":{"tf":3.605551275463989},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"280":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":8,"docs":{"113":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"198":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"d":{"df":1,"docs":{"209":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":4,"docs":{"215":{"tf":1.0},"242":{"tf":1.0},"264":{"tf":1.0},"281":{"tf":1.0}}}},"l":{"a":{"df":1,"docs":{"288":{"tf":1.0}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"150":{"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":{"230":{"tf":1.0}}}}}}}}},"i":{"a":{"df":13,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":2.0},"130":{"tf":2.449489742783178},"200":{"tf":1.0},"203":{"tf":2.23606797749979},"204":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}},"s":{"df":7,"docs":{"114":{"tf":1.4142135623730951},"115":{"tf":2.0},"116":{"tf":2.0},"117":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"131":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"45":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":46,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"137":{"tf":1.0},"144":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":2.0},"190":{"tf":1.0},"194":{"tf":1.4142135623730951},"201":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"207":{"tf":2.0},"208":{"tf":2.0},"209":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"254":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"127":{"tf":1.0},"149":{"tf":1.0},"163":{"tf":1.0},"177":{"tf":1.0},"193":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0}},"g":{"df":3,"docs":{"156":{"tf":1.0},"217":{"tf":1.4142135623730951},"255":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":24,"docs":{"119":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"205":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":2.0},"293":{"tf":1.7320508075688772},"298":{"tf":2.23606797749979},"69":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"95":{"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":{"235":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"117":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.0},"291":{"tf":1.4142135623730951},"64":{"tf":1.0},"77":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"122":{"tf":1.0},"220":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":11,"docs":{"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"244":{"tf":1.0},"265":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":2.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":8,"docs":{"139":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":2.449489742783178},"92":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"115":{"tf":1.0},"229":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":4,"docs":{"207":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"55":{"tf":1.0}}}},"y":{"df":0,"docs":{},"z":{"df":3,"docs":{"231":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"270":{"tf":1.7320508075688772},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"278":{"tf":1.0}}}}},"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":5,"docs":{"266":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0}}}}},"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":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"279":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"279":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"266":{"tf":2.449489742783178},"267":{"tf":2.6457513110645907},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"274":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951}},"s":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"266":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}},"df":9,"docs":{"267":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"272":{"tf":2.8284271247461903},"273":{"tf":2.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"277":{"tf":1.7320508075688772},"278":{"tf":2.6457513110645907},"279":{"tf":4.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":23,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.4142135623730951},"131":{"tf":2.0},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.4142135623730951},"153":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.0},"180":{"tf":1.0},"243":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"298":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0}}},"y":{"df":1,"docs":{"208":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"135":{"tf":1.0},"147":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":21,"docs":{"112":{"tf":1.0},"122":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"199":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.0},"255":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"151":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"195":{"tf":1.0},"206":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"277":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":9,"docs":{"147":{"tf":1.0},"169":{"tf":1.0},"217":{"tf":1.0},"229":{"tf":1.0},"255":{"tf":1.0},"264":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.0},"67":{"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":7,"docs":{"183":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"243":{"tf":1.0},"270":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"}":{"/":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"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":{}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"279":{"tf":1.7320508075688772}}}}}}}}},"df":29,"docs":{"166":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.4142135623730951},"194":{"tf":1.4142135623730951},"198":{"tf":2.23606797749979},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":2.0},"227":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"tf":2.0},"230":{"tf":1.0},"243":{"tf":1.0},"265":{"tf":1.0},"266":{"tf":2.449489742783178},"267":{"tf":3.872983346207417},"269":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.4142135623730951},"300":{"tf":1.0},"36":{"tf":2.23606797749979}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"176":{"tf":1.0},"221":{"tf":1.0},"291":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":6,"docs":{"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"33":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"1":{"tf":1.0},"244":{"tf":1.0},"291":{"tf":1.0}}},"df":6,"docs":{"101":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.0},"291":{"tf":1.0},"75":{"tf":1.0}}},"y":{"(":{"1":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"<":{"a":{">":{"(":{"a":{"df":1,"docs":{"139":{"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":{"146":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"1":{"0":{"df":1,"docs":{"146":{"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":1,"docs":{"279":{"tf":1.0}}},"df":15,"docs":{"160":{"tf":1.0},"169":{"tf":1.0},"207":{"tf":1.0},"216":{"tf":1.0},"224":{"tf":1.4142135623730951},"239":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.7320508075688772},"264":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"167":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":1.0},"228":{"tf":1.0},"59":{"tf":1.0}}}}},"v":{"df":1,"docs":{"207":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"107":{"tf":1.0},"184":{"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":24,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.7320508075688772},"4":{"tf":1.0},"48":{"tf":1.7320508075688772},"69":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"119":{"tf":1.0},"182":{"tf":1.0},"220":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"72":{"tf":2.8284271247461903}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"130":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"243":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"'":{"df":1,"docs":{"239":{"tf":1.0}}},"(":{"df":2,"docs":{"138":{"tf":1.0},"248":{"tf":1.0}}},"1":{"df":1,"docs":{"114":{"tf":1.0}}},"2":{"df":2,"docs":{"114":{"tf":1.7320508075688772},"156":{"tf":1.0}}},"c":{"df":1,"docs":{"232":{"tf":1.0}}},"df":22,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.0},"139":{"tf":1.0},"146":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"160":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.0},"175":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"220":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"48":{"tf":1.0}},"s":{"/":{"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":1,"docs":{"167":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"137":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"163":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":16,"docs":{"124":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":2.0},"147":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.449489742783178},"173":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"239":{"tf":1.4142135623730951},"247":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"151":{"tf":1.0},"177":{"tf":1.0},"209":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"144":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.0},"276":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"233":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"196":{"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":9,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"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":{},"i":{"d":{"df":2,"docs":{"172":{"tf":1.0},"263":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":5,"docs":{"157":{"tf":1.0},"164":{"tf":1.0},"230":{"tf":1.4142135623730951},"269":{"tf":1.0},"81":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"209":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"102":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"254":{"tf":1.0}},"e":{"d":{">":{"(":{"df":0,"docs":{},"o":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"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":{"138":{"tf":1.4142135623730951}}}}}}}}}},"<":{"a":{"df":1,"docs":{"138":{"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":9,"docs":{"109":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":1.0},"154":{"tf":1.4142135623730951},"219":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"156":{"tf":1.0},"255":{"tf":1.0},"293":{"tf":3.7416573867739413},"68":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"166":{"tf":1.0},"196":{"tf":1.4142135623730951},"33":{"tf":1.0},"84":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"298":{"tf":1.0}}}}}}},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"233":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":20,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"175":{"tf":1.0},"202":{"tf":2.6457513110645907},"204":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"295":{"tf":1.0},"297":{"tf":2.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"74":{"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":{"112":{"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":16,"docs":{"103":{"tf":1.4142135623730951},"119":{"tf":1.0},"137":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"230":{"tf":1.0},"258":{"tf":1.0},"288":{"tf":2.6457513110645907},"293":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0},"79":{"tf":1.0},"81":{"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":{"246":{"tf":1.0}}}},"df":1,"docs":{"246":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"220":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"o":{"df":5,"docs":{"11":{"tf":1.0},"189":{"tf":1.0},"254":{"tf":1.0},"258":{"tf":1.0},"278":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":18,"docs":{"109":{"tf":2.0},"121":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.7320508075688772},"180":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"220":{"tf":1.4142135623730951},"221":{"tf":1.0},"233":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"273":{"tf":1.0},"284":{"tf":1.0},"301":{"tf":1.0},"80":{"tf":1.0}}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"156":{"tf":1.0},"167":{"tf":1.0},"189":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.23606797749979},"25":{"tf":1.4142135623730951},"265":{"tf":1.0},"268":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":16,"docs":{"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"160":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0},"243":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"298":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"183":{"tf":1.0}}},"y":{"df":4,"docs":{"130":{"tf":1.0},"172":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"155":{"tf":1.0},"289":{"tf":1.4142135623730951}}}},"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":{"188":{"tf":1.0}}}}}},"df":6,"docs":{"233":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"215":{"tf":1.0},"236":{"tf":1.0},"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":3,"docs":{"157":{"tf":1.0},"256":{"tf":1.0},"275":{"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":{"64":{"tf":1.4142135623730951}}}}}}}}},"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"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":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"206":{"tf":2.0},"245":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"135":{"tf":1.0},"145":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"245":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"168":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.0}}}}}},"1":{"0":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}},"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":{"245":{"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":{"245":{"tf":1.0},"246":{"tf":1.0}}}}}},"a":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":2.449489742783178}}},"b":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":1.4142135623730951}}},"c":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":2.0}}},"df":6,"docs":{"120":{"tf":1.4142135623730951},"168":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"232":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"232":{"tf":2.0}}}},"s":{"df":0,"docs":{},"e":{"df":19,"docs":{"139":{"tf":1.0},"155":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":1.0},"219":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"254":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"278":{"tf":1.0},"3":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"h":{"df":1,"docs":{"262":{"tf":1.0}}},"i":{"c":{"df":7,"docs":{"201":{"tf":1.0},"220":{"tf":1.0},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"45":{"tf":1.0}}},"df":1,"docs":{"174":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}},"z":{"df":1,"docs":{"120":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"'":{"df":9,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"222":{"tf":1.7320508075688772},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"268":{"tf":1.0},"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":37,"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},"189":{"tf":1.0},"19":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"196":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"217":{"tf":2.23606797749979},"22":{"tf":1.0},"220":{"tf":1.4142135623730951},"222":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"260":{"tf":1.7320508075688772},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":2.449489742783178},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.4142135623730951},"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":{"179":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"158":{"tf":1.0}},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":13,"docs":{"114":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"154":{"tf":2.0},"155":{"tf":2.449489742783178},"184":{"tf":2.0},"289":{"tf":2.23606797749979},"294":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"97":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":31,"docs":{"131":{"tf":1.0},"182":{"tf":1.4142135623730951},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"213":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.4142135623730951},"259":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.7320508075688772},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}}}},"df":31,"docs":{"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"45":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"156":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"206":{"tf":1.0},"212":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0},"288":{"tf":1.7320508075688772},"50":{"tf":1.0},"64":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"131":{"tf":1.0},"194":{"tf":1.4142135623730951},"25":{"tf":1.0},"260":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"158":{"tf":1.0},"160":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0},"59":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"244":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"107":{"tf":1.0}}},"v":{"df":2,"docs":{"175":{"tf":1.0},"187":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":63,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.4142135623730951},"228":{"tf":1.0},"231":{"tf":1.4142135623730951},"238":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"269":{"tf":1.0},"300":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"242":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"226":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"160":{"tf":1.0},"163":{"tf":1.0},"203":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"277":{"tf":1.0}}}}},"t":{"df":3,"docs":{"153":{"tf":1.0},"172":{"tf":1.0},"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"129":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"231":{"tf":1.0},"269":{"tf":1.0},"93":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":26,"docs":{"107":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.0},"198":{"tf":1.4142135623730951},"202":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"238":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":8,"docs":{"152":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.0},"201":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"236":{"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":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"5":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"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":{"128":{"tf":1.0}}}}},"d":{"df":2,"docs":{"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":8,"docs":{"156":{"tf":1.0},"157":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.7320508075688772},"77":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":27,"docs":{"140":{"tf":1.0},"188":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"221":{"tf":1.0},"23":{"tf":1.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":2.6457513110645907},"245":{"tf":2.449489742783178},"246":{"tf":2.449489742783178},"247":{"tf":3.0},"248":{"tf":4.242640687119285},"249":{"tf":2.449489742783178},"250":{"tf":1.4142135623730951},"251":{"tf":3.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"297":{"tf":3.872983346207417},"3":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"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":{"249":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"248":{"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":{"249":{"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":{"247":{"tf":1.0}}},"w":{"df":1,"docs":{"277":{"tf":1.0}},"n":{"df":1,"docs":{"270":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"273":{"tf":1.0}}}}},"o":{"b":{"df":2,"docs":{"247":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"147":{"tf":1.0},"156":{"tf":1.0},"231":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"237":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"115":{"tf":1.0},"198":{"tf":1.0},"215":{"tf":1.0},"263":{"tf":1.4142135623730951},"4":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"86":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":26,"docs":{"108":{"tf":1.0},"132":{"tf":1.4142135623730951},"156":{"tf":1.0},"173":{"tf":1.4142135623730951},"180":{"tf":1.0},"220":{"tf":1.0},"235":{"tf":1.0},"247":{"tf":1.4142135623730951},"248":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"267":{"tf":1.0},"283":{"tf":1.4142135623730951},"284":{"tf":2.0},"288":{"tf":2.0},"289":{"tf":1.0},"291":{"tf":4.123105625617661},"293":{"tf":2.449489742783178},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":2.449489742783178},"298":{"tf":5.477225575051661},"300":{"tf":3.1622776601683795},"45":{"tf":1.7320508075688772},"70":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"221":{"tf":1.0}},"h":{"df":20,"docs":{"158":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":2.0},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"208":{"tf":1.0},"212":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"247":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"291":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0},"77":{"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":5,"docs":{"130":{"tf":1.4142135623730951},"186":{"tf":1.0},"263":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"208":{"tf":1.0}}}}},"df":6,"docs":{"101":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"175":{"tf":1.0},"244":{"tf":1.0},"291":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"168":{"tf":1.7320508075688772},"170":{"tf":3.0},"171":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"x":{"df":10,"docs":{"178":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":2.0},"221":{"tf":1.0},"262":{"tf":1.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":{"195":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"195":{"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":{"193":{"tf":1.0},"194":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"199":{"tf":1.0},"49":{"tf":1.4142135623730951},"51":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"108":{"tf":1.0},"110":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"188":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":2,"docs":{"15":{"tf":1.0},"172":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"256":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"107":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"172":{"tf":1.0}},"n":{"df":2,"docs":{"140":{"tf":1.0},"243":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"g":{"df":13,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":2.0},"188":{"tf":1.0},"209":{"tf":1.0},"237":{"tf":1.0},"246":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":3,"docs":{"221":{"tf":3.605551275463989},"243":{"tf":1.0},"252":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"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":{}}}},"i":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"301":{"tf":1.0}}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"25":{"tf":1.0}}}}}},"df":63,"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},"169":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":2.6457513110645907},"190":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.7320508075688772},"196":{"tf":2.23606797749979},"197":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"206":{"tf":1.4142135623730951},"218":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"229":{"tf":1.7320508075688772},"23":{"tf":2.0},"24":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"259":{"tf":2.23606797749979},"260":{"tf":3.3166247903554},"261":{"tf":1.7320508075688772},"262":{"tf":1.4142135623730951},"263":{"tf":2.6457513110645907},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.0},"269":{"tf":1.4142135623730951},"270":{"tf":2.449489742783178},"271":{"tf":2.23606797749979},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.7320508075688772},"277":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.7320508075688772},"281":{"tf":1.4142135623730951},"286":{"tf":1.0},"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},"48":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"11":{"tf":1.0},"207":{"tf":1.0},"221":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"253":{"tf":1.0},"263":{"tf":1.0},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"80":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":33,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"153":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.0},"184":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0},"254":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.0},"299":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"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},"93":{"tf":1.0}}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"189":{"tf":1.4142135623730951},"25":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}}},"z":{"df":0,"docs":{},"z":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"168":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"%":{"df":1,"docs":{"170":{"tf":1.0}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"df":3,"docs":{"168":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772}}}}},"z":{"df":0,"docs":{},"l":{"df":2,"docs":{"270":{"tf":1.7320508075688772},"271":{"tf":1.0}},"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":{"139":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"11":{"tf":1.0},"190":{"tf":1.0},"196":{"tf":1.4142135623730951},"242":{"tf":2.6457513110645907},"243":{"tf":1.0},"260":{"tf":1.0}},"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":1,"docs":{"243":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"242":{"tf":1.0},"243":{"tf":1.0}}}}}}},"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":{"150":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":68,"docs":{"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"142":{"tf":1.7320508075688772},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":2.23606797749979},"162":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":2.449489742783178},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.7320508075688772},"175":{"tf":1.0},"176":{"tf":2.6457513110645907},"177":{"tf":3.0},"180":{"tf":1.0},"186":{"tf":1.0},"188":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"214":{"tf":1.0},"221":{"tf":1.7320508075688772},"230":{"tf":1.0},"232":{"tf":1.7320508075688772},"233":{"tf":2.23606797749979},"234":{"tf":1.0},"238":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":2.23606797749979},"246":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":2.6457513110645907},"254":{"tf":1.0},"256":{"tf":1.4142135623730951},"257":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.7320508075688772},"291":{"tf":2.449489742783178},"293":{"tf":1.7320508075688772},"298":{"tf":2.8284271247461903},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"153":{"tf":1.7320508075688772},"163":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"153":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":8,"docs":{"102":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"173":{"tf":1.0},"222":{"tf":1.0},"249":{"tf":1.0},"284":{"tf":1.0},"288":{"tf":1.0}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"288":{"tf":4.898979485566356}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"263":{"tf":1.0}}}}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"175":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"252":{"tf":1.0},"272":{"tf":1.0},"280":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"c":{"df":1,"docs":{"291":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":2.0},"149":{"tf":2.0},"150":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"267":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"150":{"tf":1.0},"174":{"tf":1.0},"228":{"tf":1.0},"237":{"tf":1.0},"252":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"147":{"tf":1.0}}}}},"s":{"c":{"a":{"d":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":49,"docs":{"108":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":2.23606797749979},"113":{"tf":1.7320508075688772},"124":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":2.449489742783178},"154":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.0},"196":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":2.0},"221":{"tf":1.0},"224":{"tf":1.4142135623730951},"235":{"tf":1.0},"242":{"tf":1.0},"250":{"tf":1.4142135623730951},"255":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.23606797749979},"36":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.449489742783178},"68":{"tf":2.449489742783178},"69":{"tf":3.605551275463989},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"72":{"tf":2.23606797749979},"73":{"tf":3.872983346207417},"74":{"tf":3.7416573867739413},"75":{"tf":4.69041575982343},"82":{"tf":1.0}}},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"137":{"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":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"102":{"tf":2.23606797749979},"127":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"177":{"tf":1.0}}}},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{"]":{"df":0,"docs":{},"}":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"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":{"267":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"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":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"267":{"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":{}},"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":2.0},"208":{"tf":1.0},"75":{"tf":1.0}}}},"df":9,"docs":{"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"140":{"tf":1.0},"278":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"147":{"tf":1.0},"177":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"115":{"tf":1.0},"224":{"tf":1.0},"230":{"tf":1.0}}}}}}}},"df":20,"docs":{"139":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":3.1622776601683795},"170":{"tf":1.0},"177":{"tf":1.4142135623730951},"232":{"tf":1.0},"256":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"220":{"tf":1.0},"299":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"176":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"225":{"tf":1.4142135623730951},"226":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.7320508075688772},"282":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"173":{"tf":1.0},"206":{"tf":1.0},"234":{"tf":1.0},"246":{"tf":1.0},"65":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"74":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":24,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0},"190":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.4142135623730951},"280":{"tf":1.0},"291":{"tf":2.0},"293":{"tf":2.449489742783178},"298":{"tf":2.449489742783178},"45":{"tf":1.0},"47":{"tf":1.0},"73":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"209":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"199":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}},"df":7,"docs":{"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"199":{"tf":1.4142135623730951},"203":{"tf":1.0},"300":{"tf":2.23606797749979},"45":{"tf":1.7320508075688772},"49":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"=":{"\\":{"\"":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":22,"docs":{"108":{"tf":2.23606797749979},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"112":{"tf":1.0},"117":{"tf":1.0},"15":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"291":{"tf":1.4142135623730951},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"94":{"tf":1.0},"97":{"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":{"180":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"r":{"df":1,"docs":{"242":{"tf":1.0}}}},"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":{"235":{"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":{"128":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"p":{"df":1,"docs":{"279":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":7,"docs":{"12":{"tf":1.0},"131":{"tf":1.0},"151":{"tf":1.0},"194":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"150":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0}},"n":{"df":4,"docs":{"194":{"tf":1.0},"195":{"tf":1.0},"228":{"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":{"65":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"214":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"v":{"df":2,"docs":{"188":{"tf":1.0},"241":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"184":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"133":{"tf":1.0},"185":{"tf":1.0}}}}},"o":{"'":{"df":87,"docs":{"111":{"tf":1.0},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.7320508075688772},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"211":{"tf":1.0},"214":{"tf":1.7320508075688772},"215":{"tf":1.0},"22":{"tf":1.0},"222":{"tf":1.4142135623730951},"228":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.7320508075688772},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":2.0},"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}},"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"278":{"tf":2.0},"279":{"tf":1.4142135623730951},"280":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":20,"docs":{"18":{"tf":1.0},"189":{"tf":1.7320508075688772},"197":{"tf":1.4142135623730951},"206":{"tf":2.0},"215":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"27":{"tf":1.0},"279":{"tf":1.4142135623730951},"281":{"tf":1.0},"30":{"tf":2.0},"33":{"tf":1.0},"37":{"tf":1.7320508075688772}}},"y":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"212":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":25,"docs":{"18":{"tf":1.0},"189":{"tf":1.0},"195":{"tf":2.0},"196":{"tf":1.0},"199":{"tf":1.0},"204":{"tf":1.7320508075688772},"206":{"tf":2.0},"215":{"tf":1.4142135623730951},"223":{"tf":1.4142135623730951},"224":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"226":{"tf":1.4142135623730951},"227":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":2.0},"267":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.0},"286":{"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":5,"docs":{"192":{"tf":1.0},"198":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":176,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":1.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"144":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"15":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":2.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":2.0},"173":{"tf":2.0},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"189":{"tf":1.0},"19":{"tf":1.0},"190":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"199":{"tf":1.4142135623730951},"2":{"tf":1.0},"201":{"tf":1.4142135623730951},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"22":{"tf":1.0},"220":{"tf":2.23606797749979},"221":{"tf":2.23606797749979},"222":{"tf":1.0},"228":{"tf":2.0},"230":{"tf":1.4142135623730951},"231":{"tf":2.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"244":{"tf":1.4142135623730951},"245":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"25":{"tf":1.7320508075688772},"252":{"tf":2.0},"254":{"tf":1.7320508075688772},"257":{"tf":2.23606797749979},"259":{"tf":1.4142135623730951},"260":{"tf":2.449489742783178},"262":{"tf":1.4142135623730951},"263":{"tf":2.449489742783178},"264":{"tf":2.449489742783178},"266":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.4142135623730951},"281":{"tf":1.4142135623730951},"284":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"3":{"tf":1.0},"300":{"tf":1.4142135623730951},"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.4142135623730951},"50":{"tf":1.7320508075688772},"55":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":2.23606797749979},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"94":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":2,"docs":{"293":{"tf":1.4142135623730951},"298":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"’":{"df":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":19,"docs":{"144":{"tf":1.0},"146":{"tf":1.7320508075688772},"169":{"tf":1.0},"170":{"tf":2.449489742783178},"172":{"tf":1.0},"2":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.4142135623730951},"274":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"83":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"128":{"tf":1.0},"34":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}},"r":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"115":{"tf":1.0},"258":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"48":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":2.23606797749979}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":8,"docs":{"163":{"tf":1.0},"173":{"tf":1.0},"197":{"tf":1.0},"235":{"tf":1.0},"241":{"tf":1.0},"267":{"tf":1.0},"55":{"tf":1.0},"68":{"tf":1.0}},"r":{"df":1,"docs":{"230":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"147":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"196":{"tf":1.0},"241":{"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":{"150":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"150":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"222":{"tf":1.0}}}}}}}},"m":{"d":{"df":4,"docs":{"262":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"222":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":7,"docs":{"112":{"tf":1.0},"131":{"tf":1.0},"222":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"266":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":55,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"130":{"tf":1.0},"131":{"tf":2.0},"137":{"tf":1.4142135623730951},"142":{"tf":1.0},"147":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"2":{"tf":1.0},"205":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"232":{"tf":1.4142135623730951},"237":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"246":{"tf":1.0},"247":{"tf":1.4142135623730951},"259":{"tf":1.4142135623730951},"260":{"tf":2.0},"261":{"tf":1.7320508075688772},"263":{"tf":2.0},"264":{"tf":2.449489742783178},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":3.0},"277":{"tf":1.4142135623730951},"286":{"tf":1.0},"36":{"tf":1.0},"50":{"tf":1.7320508075688772},"6":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"93":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"d":{"df":1,"docs":{"160":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"180":{"tf":1.0},"186":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"222":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"80":{"tf":1.0}},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"188":{"tf":1.0}}},"y":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"188":{"tf":1.0}}}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.0},"267":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"126":{"tf":1.0},"83":{"tf":2.23606797749979}},"l":{"df":1,"docs":{"184":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":2,"docs":{"133":{"tf":1.0},"93":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"178":{"tf":1.0},"181":{"tf":1.0},"221":{"tf":1.0},"269":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.23606797749979},"298":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"76":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"79":{"tf":1.0}}},"r":{"df":1,"docs":{"247":{"tf":1.7320508075688772}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"175":{"tf":1.0},"222":{"tf":1.0},"25":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":20,"docs":{"138":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"50":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"11":{"tf":1.0},"196":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.0},"217":{"tf":1.7320508075688772},"218":{"tf":1.7320508075688772},"219":{"tf":1.7320508075688772},"220":{"tf":2.449489742783178},"25":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":21,"docs":{"155":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"215":{"tf":1.0},"22":{"tf":1.0},"242":{"tf":1.0},"247":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"115":{"tf":1.4142135623730951},"274":{"tf":1.0},"276":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"157":{"tf":1.0},"169":{"tf":1.0},"291":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.7320508075688772},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"214":{"tf":1.0},"267":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":71,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":2.23606797749979},"103":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":2.0},"131":{"tf":1.0},"133":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":2.23606797749979},"189":{"tf":1.0},"190":{"tf":1.0},"196":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"21":{"tf":1.0},"210":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.0},"239":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"243":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":2.8284271247461903},"273":{"tf":1.4142135623730951},"280":{"tf":1.0},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"81":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"138":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"172":{"tf":1.4142135623730951},"206":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":2.0},"244":{"tf":2.449489742783178},"252":{"tf":1.0},"258":{"tf":1.0},"260":{"tf":1.0},"288":{"tf":3.872983346207417}}},"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":{"186":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}}},"3":{"7":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":1,"docs":{"186":{"tf":1.0}}},"8":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"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":{"186":{"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":{"(":{"2":{"df":1,"docs":{"186":{"tf":1.0}}},"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":{"df":1,"docs":{"186":{"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":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}}}},"df":1,"docs":{"186":{"tf":3.3166247903554}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":16,"docs":{"107":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"161":{"tf":1.0},"169":{"tf":1.0},"203":{"tf":1.4142135623730951},"209":{"tf":1.0},"221":{"tf":1.0},"242":{"tf":1.0},"259":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.7320508075688772},"280":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":4,"docs":{"174":{"tf":1.0},"242":{"tf":1.0},"271":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"190":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":2.0}}},"s":{"df":5,"docs":{"130":{"tf":1.0},"190":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"232":{"tf":2.0},"233":{"tf":1.0},"274":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":8,"docs":{"184":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"270":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"78":{"tf":2.0},"79":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"142":{"tf":1.0},"184":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"255":{"tf":1.0},"293":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"b":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"279":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"173":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":12,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0}},"u":{"df":7,"docs":{"160":{"tf":1.0},"214":{"tf":1.0},"249":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"189":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"244":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"113":{"tf":1.0},"268":{"tf":1.4142135623730951},"270":{"tf":1.0},"66":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"108":{"tf":2.8284271247461903},"127":{"tf":1.7320508075688772},"129":{"tf":1.0},"139":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.4142135623730951},"160":{"tf":1.0},"170":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"198":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"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":{"127":{"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":19,"docs":{"1":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.7320508075688772},"237":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"241":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.23606797749979},"245":{"tf":1.0},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"3":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"109":{"tf":1.0},"155":{"tf":1.4142135623730951},"235":{"tf":2.0},"237":{"tf":1.0},"50":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"235":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"226":{"tf":1.0},"246":{"tf":1.0}}},"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"215":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"212":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"214":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"219":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":2.23606797749979},"212":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"257":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":17,"docs":{"12":{"tf":1.4142135623730951},"175":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"22":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":1.4142135623730951},"244":{"tf":1.0},"254":{"tf":1.0},"259":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0},"300":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"184":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"164":{"tf":1.0},"165":{"tf":1.0},"267":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"187":{"tf":1.0},"267":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"209":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"69":{"tf":1.0}},"s":{"df":3,"docs":{"160":{"tf":1.0},"198":{"tf":1.0},"227":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"274":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"49":{"tf":1.0}}}}},"i":{"d":{"df":13,"docs":{"110":{"tf":1.0},"156":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"214":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"151":{"tf":1.0},"230":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":20,"docs":{"127":{"tf":1.0},"129":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"180":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"258":{"tf":1.0},"45":{"tf":1.0},"92":{"tf":1.0}},"t":{"df":14,"docs":{"119":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"209":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":1.0},"271":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"207":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"148":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"239":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"80":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"121":{"tf":1.0},"188":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"267":{"tf":1.7320508075688772},"83":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":37,"docs":{"114":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":2.6457513110645907},"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":2.0},"206":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"212":{"tf":1.0},"217":{"tf":1.4142135623730951},"224":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.7320508075688772},"256":{"tf":1.0},"265":{"tf":1.0},"284":{"tf":2.23606797749979},"286":{"tf":1.0},"291":{"tf":2.8284271247461903},"293":{"tf":2.449489742783178},"295":{"tf":1.0},"298":{"tf":1.7320508075688772},"36":{"tf":1.0},"39":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"a":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.0}}}}},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"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":{"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":3,"docs":{"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":27,"docs":{"125":{"tf":1.0},"128":{"tf":1.4142135623730951},"152":{"tf":1.0},"173":{"tf":1.7320508075688772},"178":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.7320508075688772},"198":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"291":{"tf":3.4641016151377544},"293":{"tf":4.0},"298":{"tf":3.4641016151377544},"299":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"99":{"tf":1.0}},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{"\\":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"=":{"\\":{"\"":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"189":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":18,"docs":{"109":{"tf":1.4142135623730951},"135":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"163":{"tf":1.0},"176":{"tf":1.4142135623730951},"187":{"tf":1.0},"230":{"tf":1.0},"242":{"tf":1.0},"245":{"tf":1.0},"247":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}},"u":{"df":3,"docs":{"127":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":9,"docs":{"14":{"tf":1.0},"152":{"tf":1.0},"244":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"32":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"156":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.4142135623730951}}},"(":{"df":1,"docs":{"159":{"tf":1.0}}},"_":{"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":{"193":{"tf":1.0},"195":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":25,"docs":{"127":{"tf":1.0},"156":{"tf":3.0},"157":{"tf":1.7320508075688772},"158":{"tf":2.0},"159":{"tf":1.7320508075688772},"160":{"tf":1.0},"161":{"tf":2.6457513110645907},"162":{"tf":2.0},"163":{"tf":2.23606797749979},"164":{"tf":3.0},"165":{"tf":3.0},"166":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.7320508075688772},"173":{"tf":2.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.7320508075688772},"177":{"tf":2.23606797749979},"192":{"tf":1.4142135623730951},"267":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"243":{"tf":1.0},"258":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":3,"docs":{"165":{"tf":1.0},"208":{"tf":1.0},"261":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":15,"docs":{"109":{"tf":1.0},"151":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"221":{"tf":1.4142135623730951},"222":{"tf":1.4142135623730951},"237":{"tf":1.0},"239":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"275":{"tf":1.0},"50":{"tf":1.4142135623730951},"64":{"tf":1.0},"85":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":21,"docs":{"117":{"tf":1.0},"163":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"203":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"254":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"265":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"49":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"t":{"df":3,"docs":{"194":{"tf":1.4142135623730951},"210":{"tf":1.0},"25":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"122":{"tf":1.0}}},"t":{"df":9,"docs":{"239":{"tf":1.0},"240":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"27":{"tf":1.0},"271":{"tf":1.0},"301":{"tf":1.0}}}},"y":{"df":1,"docs":{"180":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"64":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"231":{"tf":1.0}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"209":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":30,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"178":{"tf":2.8284271247461903},"179":{"tf":2.449489742783178},"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"183":{"tf":2.8284271247461903},"184":{"tf":4.0},"185":{"tf":1.4142135623730951},"186":{"tf":2.6457513110645907},"187":{"tf":2.23606797749979},"188":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.0},"270":{"tf":1.0},"284":{"tf":1.4142135623730951},"29":{"tf":1.0},"293":{"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},"80":{"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":{"179":{"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":{"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":{}}},"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":{"184":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"1":{"df":1,"docs":{"187":{"tf":1.0}}},"df":1,"docs":{"178":{"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":{"80":{"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":{"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"188":{"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":8,"docs":{"210":{"tf":1.0},"222":{"tf":1.0},"231":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"275":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"124":{"tf":1.0},"133":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"257":{"tf":1.4142135623730951},"260":{"tf":1.0},"69":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"186":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"132":{"tf":1.0},"195":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":1.0},"288":{"tf":1.7320508075688772},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"244":{"tf":1.0},"272":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"244":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"270":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"155":{"tf":1.0},"300":{"tf":1.0},"63":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"134":{"tf":1.0},"198":{"tf":1.7320508075688772},"207":{"tf":1.0},"228":{"tf":1.0},"256":{"tf":1.0},"276":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":24,"docs":{"118":{"tf":1.0},"129":{"tf":1.0},"150":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"261":{"tf":1.4142135623730951},"270":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"282":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"73":{"tf":1.0},"82":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":3,"docs":{"230":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":30,"docs":{"140":{"tf":1.0},"150":{"tf":1.0},"158":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.0},"188":{"tf":1.0},"199":{"tf":1.0},"203":{"tf":1.0},"214":{"tf":1.0},"231":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.0},"277":{"tf":1.0},"288":{"tf":2.8284271247461903},"29":{"tf":1.0},"293":{"tf":1.4142135623730951},"296":{"tf":1.0},"301":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"284":{"tf":1.0},"295":{"tf":1.0}}}},"_":{"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":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"36":{"tf":1.0}}}}},"l":{"df":1,"docs":{"256":{"tf":1.0}},"i":{"df":5,"docs":{"199":{"tf":1.0},"49":{"tf":2.0},"51":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"186":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":52,"docs":{"102":{"tf":1.0},"110":{"tf":1.0},"112":{"tf":1.0},"13":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.4142135623730951},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"258":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.0},"292":{"tf":1.0},"293":{"tf":3.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"39":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":12,"docs":{"115":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.7320508075688772},"180":{"tf":1.0},"186":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"277":{"tf":1.0}}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"3":{"df":0,"docs":{},"q":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"y":{"6":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"9":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"231":{"tf":2.0},"232":{"tf":1.0},"236":{"tf":1.0},"3":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":2.449489742783178}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"a":{"b":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"209":{"tf":1.0},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":49,"docs":{"111":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"122":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":2.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"187":{"tf":2.449489742783178},"205":{"tf":1.7320508075688772},"206":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"211":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":2.23606797749979},"232":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":2.449489742783178},"238":{"tf":2.6457513110645907},"239":{"tf":2.23606797749979},"240":{"tf":2.0},"241":{"tf":1.7320508075688772},"242":{"tf":1.7320508075688772},"243":{"tf":1.4142135623730951},"244":{"tf":1.0},"251":{"tf":1.0},"257":{"tf":2.0},"3":{"tf":1.0},"4":{"tf":2.0},"65":{"tf":2.6457513110645907},"70":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}},"b":{"df":3,"docs":{"209":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.0}}},"df":2,"docs":{"158":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"230":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":2.0},"246":{"tf":1.7320508075688772},"248":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}}}},"b":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"172":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"189":{"tf":1.0},"48":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"133":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"261":{"tf":1.0},"274":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":6,"docs":{"150":{"tf":1.0},"175":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"274":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":71,"docs":{"103":{"tf":2.0},"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"109":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.4142135623730951},"17":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"188":{"tf":2.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"192":{"tf":1.0},"195":{"tf":1.0},"198":{"tf":1.4142135623730951},"199":{"tf":1.7320508075688772},"203":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":2.0},"213":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":2.0},"224":{"tf":1.0},"228":{"tf":1.0},"232":{"tf":1.0},"236":{"tf":1.0},"248":{"tf":1.0},"25":{"tf":1.4142135623730951},"251":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":1.0},"286":{"tf":1.0},"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},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"83":{"tf":2.449489742783178},"87":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"220":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"190":{"tf":1.0},"279":{"tf":1.0},"64":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":10,"docs":{"169":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"222":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":8,"docs":{"181":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"239":{"tf":2.0},"240":{"tf":1.7320508075688772},"64":{"tf":1.0},"86":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"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":{"274":{"tf":1.7320508075688772},"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"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":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":19,"docs":{"188":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"215":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.4142135623730951},"227":{"tf":1.0},"231":{"tf":1.4142135623730951},"236":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.7320508075688772},"281":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"3":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"293":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"270":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"175":{"tf":1.4142135623730951},"246":{"tf":1.4142135623730951},"248":{"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":{"248":{"tf":1.4142135623730951}}}},"df":1,"docs":{"248":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":82,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"181":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":2.23606797749979},"191":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.4142135623730951},"204":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":2.449489742783178},"207":{"tf":2.23606797749979},"208":{"tf":1.7320508075688772},"209":{"tf":1.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"223":{"tf":1.4142135623730951},"23":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.0},"243":{"tf":2.449489742783178},"244":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.0},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":42,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":2.23606797749979},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"163":{"tf":1.7320508075688772},"164":{"tf":2.0},"165":{"tf":1.7320508075688772},"195":{"tf":1.0},"200":{"tf":1.4142135623730951},"201":{"tf":2.23606797749979},"202":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"221":{"tf":1.4142135623730951},"234":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"250":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"254":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"299":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"75":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"244":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"288":{"tf":2.6457513110645907},"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"153":{"tf":1.0},"288":{"tf":2.449489742783178}}},"t":{"df":2,"docs":{"11":{"tf":1.0},"142":{"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":10,"docs":{"15":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"215":{"tf":1.0},"221":{"tf":1.0},"26":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":30,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":2.0},"206":{"tf":1.0},"212":{"tf":1.0},"243":{"tf":1.0},"252":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"259":{"tf":1.0},"260":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.4142135623730951},"280":{"tf":1.4142135623730951},"33":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.7320508075688772}}}}}}}},"p":{"df":21,"docs":{"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.7320508075688772},"212":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.7320508075688772},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":49,"docs":{"11":{"tf":1.0},"160":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":2.23606797749979},"196":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.7320508075688772},"209":{"tf":1.0},"21":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":1.7320508075688772},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.4142135623730951},"224":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.4142135623730951},"228":{"tf":2.0},"229":{"tf":2.6457513110645907},"23":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.0},"256":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"271":{"tf":2.0},"272":{"tf":1.0},"273":{"tf":1.0},"281":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":5,"docs":{"189":{"tf":1.0},"218":{"tf":1.4142135623730951},"244":{"tf":1.0},"263":{"tf":1.0},"33":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"241":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"<":{"df":1,"docs":{"284":{"tf":1.0}},"t":{"df":1,"docs":{"284":{"tf":5.0990195135927845}}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"284":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"187":{"tf":1.0},"219":{"tf":1.0},"263":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":14,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"176":{"tf":1.0},"185":{"tf":1.0},"209":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":35,"docs":{"107":{"tf":1.0},"150":{"tf":1.7320508075688772},"151":{"tf":1.0},"153":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"2":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":8,"docs":{"107":{"tf":1.0},"153":{"tf":1.0},"180":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"79":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":17,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"279":{"tf":1.0},"280":{"tf":1.4142135623730951},"291":{"tf":1.0},"86":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"101":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"166":{"tf":1.0},"175":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.4142135623730951},"235":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.4142135623730951},"259":{"tf":1.0},"288":{"tf":1.0},"45":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"219":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":19,"docs":{"115":{"tf":1.0},"13":{"tf":1.0},"175":{"tf":1.0},"209":{"tf":2.0},"213":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.4142135623730951},"25":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"3":{"tf":1.4142135623730951},"33":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"tf":1.0}}}},"df":0,"docs":{}},"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":{"231":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"163":{"tf":1.0},"173":{"tf":1.0},"207":{"tf":1.4142135623730951},"279":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"214":{"tf":1.4142135623730951},"271":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":26,"docs":{"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"175":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.0},"215":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"231":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"268":{"tf":1.0},"273":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"298":{"tf":1.0},"46":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":5,"docs":{"173":{"tf":1.0},"178":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":22,"docs":{"151":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"184":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"188":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.0},"252":{"tf":1.0},"5":{"tf":1.0},"65":{"tf":1.4142135623730951},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":36,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"158":{"tf":1.0},"165":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.23606797749979},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"215":{"tf":1.0},"228":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"25":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.4142135623730951},"265":{"tf":1.0},"273":{"tf":1.4142135623730951},"279":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":2.449489742783178},"293":{"tf":2.0},"298":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"15":{"tf":1.0},"225":{"tf":1.0},"226":{"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":{"127":{"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":{"184":{"tf":1.0}}}}}}},"<":{"a":{",":{"b":{">":{"(":{"a":{"df":1,"docs":{"184":{"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":2,"docs":{"227":{"tf":1.4142135623730951},"247":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"160":{"tf":2.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"167":{"tf":1.7320508075688772},"169":{"tf":1.7320508075688772},"170":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"173":{"tf":1.7320508075688772},"174":{"tf":2.449489742783178},"267":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"t":{"df":2,"docs":{"168":{"tf":2.0},"171":{"tf":2.0}}}},"df":1,"docs":{"170":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"115":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"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":{"115":{"tf":1.4142135623730951},"124":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"169":{"tf":1.4142135623730951},"190":{"tf":1.0},"228":{"tf":1.0},"260":{"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":{"112":{"tf":1.0},"122":{"tf":1.0},"183":{"tf":1.0}}}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"169":{"tf":1.0},"228":{"tf":1.0},"280":{"tf":1.0}}},"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":{"234":{"tf":1.0}}}}}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"232":{"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":{"232":{"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":{"232":{"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":{"232":{"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":{"246":{"tf":1.0},"248":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"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":3,"docs":{"173":{"tf":1.0},"222":{"tf":1.0},"263":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"262":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":20,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.4142135623730951},"301":{"tf":1.0},"36":{"tf":1.0}}}}}}}},"df":5,"docs":{"153":{"tf":1.0},"205":{"tf":1.0},"227":{"tf":1.0},"254":{"tf":1.0},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":20,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"229":{"tf":1.0},"238":{"tf":1.0},"255":{"tf":1.0},"258":{"tf":1.0},"266":{"tf":1.0},"83":{"tf":1.0},"99":{"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":{"232":{"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":{"232":{"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":{"232":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"267":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"267":{"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":8,"docs":{"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":2.23606797749979}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"153":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"277":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":36,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"148":{"tf":1.0},"166":{"tf":1.0},"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"223":{"tf":1.0},"227":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.0},"255":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.4142135623730951},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":17,"docs":{"11":{"tf":1.0},"156":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"193":{"tf":1.0},"2":{"tf":1.0},"207":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.4142135623730951},"7":{"tf":1.0},"78":{"tf":1.0}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"188":{"tf":1.0},"209":{"tf":1.0},"243":{"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":{"234":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"105":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"109":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"122":{"tf":1.0},"124":{"tf":1.7320508075688772},"262":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.7320508075688772},"294":{"tf":4.0},"296":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"81":{"tf":1.0}},"e":{"d":{"(":{"1":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"296":{"tf":1.0}}}}}}}}}}}}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":10,"docs":{"237":{"tf":1.0},"25":{"tf":1.0},"256":{"tf":1.0},"263":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"215":{"tf":1.0},"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":13,"docs":{"17":{"tf":1.0},"194":{"tf":1.4142135623730951},"198":{"tf":1.0},"201":{"tf":2.0},"203":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"240":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"269":{"tf":1.0},"34":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"152":{"tf":1.0},"164":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":9,"docs":{"154":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"256":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"291":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"112":{"tf":1.0},"244":{"tf":1.0},"288":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"299":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":12,"docs":{"247":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"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":{"184":{"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":{"184":{"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":3,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"288":{"tf":2.449489742783178}}}}},"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":{"184":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"160":{"tf":1.0},"214":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"276":{"tf":1.0},"33":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":16,"docs":{"131":{"tf":1.0},"137":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772},"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"174":{"tf":2.23606797749979},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"50":{"tf":1.0},"80":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"7":{"_":{"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":{"172":{"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":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":13,"docs":{"130":{"tf":1.0},"151":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.0},"238":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.0},"264":{"tf":1.4142135623730951},"271":{"tf":1.0},"36":{"tf":1.0},"83":{"tf":1.0}}}},"1":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},">":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":42,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"15":{"tf":1.0},"156":{"tf":1.4142135623730951},"160":{"tf":1.7320508075688772},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"187":{"tf":1.0},"189":{"tf":1.0},"216":{"tf":1.0},"223":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"234":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.0},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.7320508075688772},"298":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"213":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"153":{"tf":1.0},"282":{"tf":1.0},"53":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":9,"docs":{"101":{"tf":1.0},"174":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"203":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"217":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"221":{"tf":1.0},"231":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0},"63":{"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":4,"docs":{"107":{"tf":1.0},"243":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0}}}}}}}}}},"df":10,"docs":{"155":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"165":{"tf":2.8284271247461903},"168":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.0},"142":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"182":{"tf":1.0},"213":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"247":{"tf":1.0},"256":{"tf":1.0},"271":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.7320508075688772},"65":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"101":{"tf":1.0},"183":{"tf":1.0},"252":{"tf":1.0},"257":{"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":{"184":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":11,"docs":{"161":{"tf":1.7320508075688772},"162":{"tf":1.4142135623730951},"164":{"tf":2.23606797749979},"165":{"tf":2.6457513110645907},"168":{"tf":1.0},"184":{"tf":1.0},"284":{"tf":2.0},"291":{"tf":2.8284271247461903},"298":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"155":{"tf":2.0},"164":{"tf":1.0},"173":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"291":{"tf":5.916079783099616},"298":{"tf":4.358898943540674},"55":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":2.449489742783178}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"165":{"tf":1.0},"183":{"tf":1.0},"263":{"tf":1.4142135623730951},"64":{"tf":1.0},"8":{"tf":1.0}}}}}}},"m":{"b":{"df":1,"docs":{"261":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"220":{"tf":1.0},"81":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"242":{"tf":1.0}},"e":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":11,"docs":{"130":{"tf":1.0},"136":{"tf":1.0},"204":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"291":{"tf":2.0},"293":{"tf":1.0},"298":{"tf":1.0},"60":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.4142135623730951}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":21,"docs":{"122":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"183":{"tf":1.0},"21":{"tf":1.4142135623730951},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"241":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"271":{"tf":1.0},"288":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"9":{"tf":1.0},"93":{"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":{"140":{"tf":1.0},"190":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"d":{"df":20,"docs":{"116":{"tf":1.0},"134":{"tf":1.0},"157":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"172":{"tf":1.0},"181":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"231":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951},"280":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"113":{"tf":1.0},"250":{"tf":1.0},"265":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":23,"docs":{"110":{"tf":1.7320508075688772},"147":{"tf":1.0},"172":{"tf":1.0},"186":{"tf":1.0},"199":{"tf":1.0},"209":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"235":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"265":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"301":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"254":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"221":{"tf":1.7320508075688772},"253":{"tf":1.4142135623730951},"254":{"tf":1.4142135623730951},"255":{"tf":3.0},"256":{"tf":1.0},"261":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"255":{"tf":1.0}},"s":{":":{":":{"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":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}},"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":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"159":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"222":{"tf":1.7320508075688772},"238":{"tf":1.0},"244":{"tf":1.0},"271":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"274":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"280":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"131":{"tf":1.0},"173":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":41,"docs":{"119":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"255":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.4142135623730951},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0}},"e":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"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":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"155":{"tf":1.0},"156":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":23,"docs":{"108":{"tf":1.0},"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"169":{"tf":1.0},"179":{"tf":1.0},"187":{"tf":1.0},"196":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.0},"220":{"tf":1.0},"225":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.4142135623730951},"243":{"tf":1.0},"244":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"242":{"tf":1.0},"293":{"tf":3.1622776601683795},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"98":{"tf":2.0}}},"y":{"'":{"df":1,"docs":{"293":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"98":{"tf":1.0}}},"1":{"df":1,"docs":{"98":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"113":{"tf":1.7320508075688772}}}},"v":{"df":2,"docs":{"215":{"tf":1.7320508075688772},"219":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"215":{"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":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"112":{"tf":1.0},"140":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.4142135623730951},"83":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"117":{"tf":2.0},"118":{"tf":1.0},"119":{"tf":1.0},"220":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951}}}},"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":5,"docs":{"175":{"tf":1.0},"208":{"tf":1.0},"257":{"tf":1.0},"271":{"tf":1.0},"80":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"175":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"249":{"tf":1.0}},"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":{"162":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"299":{"tf":1.0}}}}},"t":{"df":3,"docs":{"152":{"tf":1.0},"201":{"tf":1.0},"299":{"tf":1.0}}}},"df":49,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"122":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":2.0},"130":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"151":{"tf":2.449489742783178},"152":{"tf":1.7320508075688772},"153":{"tf":3.0},"154":{"tf":1.7320508075688772},"159":{"tf":2.23606797749979},"161":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"189":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.7320508075688772},"244":{"tf":1.7320508075688772},"246":{"tf":1.4142135623730951},"248":{"tf":2.0},"249":{"tf":2.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"69":{"tf":2.0},"73":{"tf":2.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"81":{"tf":2.0},"92":{"tf":1.4142135623730951}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"187":{"tf":1.0},"93":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"148":{"tf":1.0},"171":{"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":{"183":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":3,"docs":{"198":{"tf":1.0},"260":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":36,"docs":{"112":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"160":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"252":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"244":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"75":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"199":{"tf":1.0},"229":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"209":{"tf":1.0},"90":{"tf":1.0}}}}}},"x":{"1":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.0},"262":{"tf":1.4142135623730951}}}}}}},"_":{"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":6,"docs":{"203":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.4142135623730951},"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"189":{"tf":1.0},"262":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}},"df":9,"docs":{"206":{"tf":3.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.4142135623730951},"219":{"tf":1.0},"221":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0}}},"4":{".":{"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":{"204":{"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":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"df":1,"docs":{"197":{"tf":1.0}}},"2":{"df":1,"docs":{"197":{"tf":1.0}}},"5":{"df":1,"docs":{"197":{"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":{"197":{"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":{"197":{"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":{"197":{"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":{"197":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"183":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"228":{"tf":1.0},"266":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":16,"docs":{"129":{"tf":1.0},"132":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"198":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":110,"docs":{"101":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":2.0},"16":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"197":{"tf":1.7320508075688772},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.7320508075688772},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.4142135623730951},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.4142135623730951},"220":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"247":{"tf":1.0},"254":{"tf":1.4142135623730951},"257":{"tf":1.0},"261":{"tf":1.4142135623730951},"263":{"tf":2.0},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":2.0},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":1.0},"293":{"tf":1.4142135623730951},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":2.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}},"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":7,"docs":{"192":{"tf":1.0},"195":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"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":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":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}}},"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":{"91":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"151":{"tf":1.4142135623730951},"234":{"tf":1.0},"300":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"264":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"204":{"tf":1.0},"237":{"tf":1.0},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"296":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":1,"docs":{"197":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":27,"docs":{"189":{"tf":1.0},"197":{"tf":1.4142135623730951},"211":{"tf":1.0},"213":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.4142135623730951},"22":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.7320508075688772},"239":{"tf":2.0},"244":{"tf":2.0},"25":{"tf":2.449489742783178},"259":{"tf":1.0},"260":{"tf":1.7320508075688772},"263":{"tf":2.449489742783178},"27":{"tf":1.0},"288":{"tf":2.8284271247461903},"31":{"tf":1.4142135623730951},"32":{"tf":2.0},"33":{"tf":1.4142135623730951},"41":{"tf":1.0},"50":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"239":{"tf":1.0},"244":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"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":{"74":{"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":{"75":{"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":12,"docs":{"122":{"tf":1.0},"156":{"tf":1.4142135623730951},"194":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"242":{"tf":1.0},"293":{"tf":1.0},"30":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"df":3,"docs":{"53":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"262":{"tf":2.0},"263":{"tf":1.0}}}}}}}},"df":4,"docs":{"194":{"tf":1.0},"219":{"tf":1.0},"262":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"119":{"tf":1.0},"281":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":42,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"164":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"220":{"tf":1.0},"235":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"254":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0}},"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":{"175":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"184":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"3":{"tf":1.0}}},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"242":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"199":{"tf":1.0}}}},"n":{"df":3,"docs":{"126":{"tf":1.0},"264":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":23,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.7320508075688772},"133":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"281":{"tf":1.4142135623730951},"39":{"tf":1.0},"78":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":47,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"192":{"tf":1.0},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"201":{"tf":1.0},"204":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.0},"217":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"243":{"tf":1.0},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"252":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.7320508075688772},"279":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"80":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":23,"docs":{"152":{"tf":1.0},"189":{"tf":1.0},"192":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":2.23606797749979},"200":{"tf":1.0},"201":{"tf":2.0},"202":{"tf":2.23606797749979},"203":{"tf":1.7320508075688772},"204":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.7320508075688772},"214":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.7320508075688772},"229":{"tf":2.0},"243":{"tf":1.4142135623730951},"266":{"tf":2.0},"267":{"tf":2.6457513110645907},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"s":{"df":13,"docs":{"183":{"tf":1.0},"189":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"242":{"tf":1.0},"284":{"tf":1.0},"286":{"tf":1.0},"300":{"tf":1.0}}}},"r":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":22,"docs":{"102":{"tf":1.0},"114":{"tf":1.0},"119":{"tf":1.0},"135":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"142":{"tf":1.0},"145":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"240":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.0},"48":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"220":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"24":{"tf":1.0},"270":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":1.0},"21":{"tf":1.0},"243":{"tf":1.0},"271":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"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":{"229":{"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":4,"docs":{"198":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":17,"docs":{"178":{"tf":1.0},"198":{"tf":1.0},"210":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"277":{"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":{"50":{"tf":1.0}}}},"f":{"(":{"0":{"df":1,"docs":{"149":{"tf":1.0}}},"1":{"df":1,"docs":{"149":{"tf":1.0}}},"5":{"df":1,"docs":{"149":{"tf":1.4142135623730951}}},"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"197":{"tf":1.0}}},"2":{"df":1,"docs":{"197":{"tf":1.4142135623730951}}},"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"t":{"df":16,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"231":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"155":{"tf":1.0},"199":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.7320508075688772},"272":{"tf":1.0},"273":{"tf":2.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"151":{"tf":1.0},"244":{"tf":1.4142135623730951},"254":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"288":{"tf":2.0},"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"151":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"208":{"tf":1.0},"213":{"tf":1.0},"258":{"tf":1.0},"276":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"244":{"tf":1.0},"252":{"tf":1.0},"277":{"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":{"66":{"tf":1.0}}}}}}}}}},"s":{"df":15,"docs":{"132":{"tf":1.4142135623730951},"180":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"291":{"tf":3.0},"293":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"169":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"167":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}},"df":8,"docs":{"131":{"tf":1.0},"161":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"224":{"tf":1.0},"237":{"tf":1.0},"275":{"tf":1.4142135623730951},"93":{"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":{"147":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":4,"docs":{"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772}}}}}}}}}}}}}}},"df":7,"docs":{"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"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":8,"docs":{"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":25,"docs":{"114":{"tf":1.0},"138":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"222":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"243":{"tf":1.4142135623730951},"249":{"tf":1.0},"252":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"273":{"tf":1.0},"275":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":7,"docs":{"131":{"tf":1.4142135623730951},"168":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"280":{"tf":1.0}}},"t":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"w":{"df":9,"docs":{"140":{"tf":1.0},"183":{"tf":1.0},"232":{"tf":1.4142135623730951},"237":{"tf":1.0},"268":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0}}}},"i":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"272":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"a":{"df":1,"docs":{"203":{"tf":1.0}}},"b":{"df":1,"docs":{"203":{"tf":1.0}}},"df":8,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"118":{"tf":1.0},"187":{"tf":1.0},"201":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"288":{"tf":1.0}}}},"g":{"df":188,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"158":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":1.7320508075688772},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":2.23606797749979},"173":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.4142135623730951},"199":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":2.6457513110645907},"207":{"tf":2.23606797749979},"209":{"tf":1.7320508075688772},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"219":{"tf":1.7320508075688772},"221":{"tf":1.7320508075688772},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":2.6457513110645907},"229":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.4142135623730951},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"251":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.7320508075688772},"26":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.7320508075688772},"266":{"tf":1.4142135623730951},"267":{"tf":2.23606797749979},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"272":{"tf":2.0},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":2.23606797749979},"281":{"tf":1.4142135623730951},"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},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"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.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"261":{"tf":1.0}}},"(":{"df":2,"docs":{"199":{"tf":1.0},"263":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"286":{"tf":1.0}}}}}},"df":60,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":3.605551275463989},"19":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.7320508075688772},"195":{"tf":1.0},"196":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":2.23606797749979},"213":{"tf":1.7320508075688772},"214":{"tf":1.4142135623730951},"223":{"tf":1.4142135623730951},"228":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.4142135623730951},"243":{"tf":1.0},"25":{"tf":2.0},"257":{"tf":1.0},"259":{"tf":1.0},"26":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":2.0},"262":{"tf":2.0},"263":{"tf":2.23606797749979},"264":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.7320508075688772},"270":{"tf":2.23606797749979},"271":{"tf":1.4142135623730951},"273":{"tf":2.0},"279":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"299":{"tf":1.0},"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},"91":{"tf":1.0},"99":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"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":5,"docs":{"189":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0},"27":{"tf":1.4142135623730951}},"i":{"c":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"286":{"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":{}}},"l":{"df":2,"docs":{"270":{"tf":1.0},"271":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"248":{"tf":1.4142135623730951}}}},"<":{"a":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"156":{"tf":1.0},"289":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"156":{"tf":1.0},"248":{"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":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"155":{"tf":2.0},"247":{"tf":1.7320508075688772},"248":{"tf":1.0},"251":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":17,"docs":{"148":{"tf":1.0},"170":{"tf":1.7320508075688772},"189":{"tf":1.0},"206":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"d":{"df":31,"docs":{"101":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"227":{"tf":1.0},"25":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"81":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"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":{"83":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"83":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"172":{"tf":1.0},"222":{"tf":1.0},"279":{"tf":1.0},"85":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"130":{"tf":1.0},"184":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"130":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"173":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":46,"docs":{"11":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.7320508075688772},"15":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"172":{"tf":1.4142135623730951},"184":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.4142135623730951},"214":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.4142135623730951},"230":{"tf":1.0},"231":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"256":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"291":{"tf":2.6457513110645907},"298":{"tf":3.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"x":{"df":17,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"124":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"244":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":12,"docs":{"189":{"tf":1.0},"20":{"tf":1.0},"215":{"tf":3.605551275463989},"216":{"tf":1.4142135623730951},"217":{"tf":1.4142135623730951},"218":{"tf":1.4142135623730951},"219":{"tf":2.8284271247461903},"22":{"tf":1.0},"220":{"tf":2.8284271247461903},"229":{"tf":1.0},"271":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"221":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"163":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"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":7,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"203":{"tf":1.0},"287":{"tf":1.7320508075688772},"294":{"tf":4.0},"296":{"tf":1.0},"45":{"tf":2.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"w":{"df":6,"docs":{"109":{"tf":1.4142135623730951},"151":{"tf":1.0},"239":{"tf":1.0},"50":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.23606797749979}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"n":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"155":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"114":{"tf":1.0},"150":{"tf":1.4142135623730951},"155":{"tf":1.0},"289":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":64,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.4142135623730951},"194":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"217":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"233":{"tf":1.0},"236":{"tf":1.0},"243":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"252":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"266":{"tf":1.0},"273":{"tf":1.0},"277":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.7320508075688772},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"o":{"(":{"%":{"df":1,"docs":{"170":{"tf":1.4142135623730951}}},"1":{"2":{"3":{"4":{"df":4,"docs":{"168":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0}}},"5":{"6":{"6":{"7":{"8":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}},"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":{"df":1,"docs":{"181":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"181":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"156":{"tf":1.0}}},"a":{"df":1,"docs":{"232":{"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":{"139":{"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":{"75":{"tf":4.795831523312719}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":1.0},"188":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"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":{"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"75":{"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":{"193":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"{":{"a":{"df":1,"docs":{"75":{"tf":3.872983346207417}}},"df":0,"docs":{}}},".":{"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":{"286":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"286":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}}},"a":{">":{"(":{"a":{"df":1,"docs":{"139":{"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":{"75":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"181":{"tf":1.0},"188":{"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":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"181":{"tf":2.23606797749979},"188":{"tf":1.7320508075688772},"75":{"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":{"181":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"a":{"df":1,"docs":{"232":{"tf":2.23606797749979}}},"b":{"df":1,"docs":{"232":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"232":{"tf":2.449489742783178}}},"df":19,"docs":{"120":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"188":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":2.8284271247461903},"197":{"tf":1.4142135623730951},"232":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"245":{"tf":1.0},"286":{"tf":1.0},"36":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"93":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"245":{"tf":1.0}}}},"df":1,"docs":{"234":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"232":{"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":{"60":{"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":4,"docs":{"103":{"tf":1.0},"214":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0}}}}},"df":2,"docs":{"242":{"tf":1.0},"248":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":7,"docs":{"140":{"tf":1.0},"173":{"tf":1.0},"201":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"243":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}},"t":{"df":8,"docs":{"142":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"257":{"tf":2.23606797749979},"258":{"tf":1.4142135623730951},"261":{"tf":1.0},"48":{"tf":2.23606797749979},"49":{"tf":1.0}}}},"df":15,"docs":{"114":{"tf":1.0},"158":{"tf":1.0},"193":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"266":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"182":{"tf":1.0},"188":{"tf":1.0},"207":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"265":{"tf":1.0},"45":{"tf":1.0},"7":{"tf":1.0}}}},"df":22,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.6457513110645907},"172":{"tf":1.0},"183":{"tf":1.0},"220":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"270":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"264":{"tf":1.0},"289":{"tf":1.0}}},"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":8,"docs":{"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"236":{"tf":1.0},"252":{"tf":1.4142135623730951},"271":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"244":{"tf":1.0}}},"df":14,"docs":{"148":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":2.0},"263":{"tf":1.0},"280":{"tf":1.0},"3":{"tf":1.4142135623730951},"39":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"201":{"tf":1.0},"207":{"tf":1.0},"223":{"tf":1.0},"238":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"140":{"tf":1.0}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"221":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"(":{"c":{"df":2,"docs":{"199":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"188":{"tf":1.0},"209":{"tf":1.0},"243":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"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":1,"docs":{"271":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":17,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"144":{"tf":1.0},"173":{"tf":2.0},"206":{"tf":1.0},"207":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"270":{"tf":1.0},"280":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":16,"docs":{"115":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"195":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"155":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.0}}}}},"t":{"df":1,"docs":{"159":{"tf":1.0}}}},"a":{"df":2,"docs":{"156":{"tf":1.0},"289":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"145":{"tf":1.0},"246":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951}}}}},"k":{"df":1,"docs":{"293":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"t":{"df":5,"docs":{"247":{"tf":1.4142135623730951},"248":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"298":{"tf":1.0}}},"|":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"177":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951}}}}}},"b":{"df":2,"docs":{"155":{"tf":1.0},"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0}}}}},"k":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}},"t":{"df":1,"docs":{"291":{"tf":1.0}}},"v":{"df":1,"docs":{"293":{"tf":1.0}}}}},"df":97,"docs":{"110":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"134":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.449489742783178},"141":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":1.4142135623730951},"155":{"tf":2.0},"156":{"tf":3.605551275463989},"157":{"tf":1.0},"158":{"tf":1.7320508075688772},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":2.8284271247461903},"165":{"tf":3.1622776601683795},"168":{"tf":2.0},"171":{"tf":2.0},"172":{"tf":1.4142135623730951},"173":{"tf":3.1622776601683795},"175":{"tf":2.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"190":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.7320508075688772},"194":{"tf":1.0},"199":{"tf":1.4142135623730951},"202":{"tf":2.23606797749979},"206":{"tf":1.4142135623730951},"207":{"tf":2.449489742783178},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"235":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.7320508075688772},"247":{"tf":3.872983346207417},"248":{"tf":3.4641016151377544},"25":{"tf":1.0},"251":{"tf":2.0},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"270":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":2.449489742783178},"274":{"tf":2.0},"275":{"tf":1.0},"279":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":4.69041575982343},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"288":{"tf":4.123105625617661},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"291":{"tf":5.656854249492381},"292":{"tf":1.0},"293":{"tf":6.082762530298219},"294":{"tf":4.358898943540674},"295":{"tf":2.449489742783178},"296":{"tf":2.449489742783178},"297":{"tf":4.242640687119285},"298":{"tf":5.5677643628300215},"300":{"tf":6.0},"301":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"169":{"tf":1.0},"23":{"tf":1.0},"239":{"tf":1.4142135623730951},"255":{"tf":1.0},"264":{"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":6,"docs":{"176":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.7320508075688772},"280":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":27,"docs":{"115":{"tf":1.0},"133":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"194":{"tf":1.0},"201":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"226":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":2.0},"234":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"252":{"tf":1.0},"267":{"tf":1.0},"288":{"tf":6.244997998398398},"48":{"tf":1.0},"59":{"tf":1.0},"93":{"tf":1.0}},"e":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"235":{"tf":1.0}}}}},"t":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"b":{"a":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"246":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"232":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"234":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"232":{"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":{"235":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"239":{"tf":1.4142135623730951},"240":{"tf":1.0}}}}}},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"229":{"tf":1.0}}}}},"t":{"df":1,"docs":{"288":{"tf":4.0}}},"v":{"df":1,"docs":{"288":{"tf":2.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":2,"docs":{"231":{"tf":1.0},"233":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"`":{"df":1,"docs":{"288":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"235":{"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":{"235":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"235":{"tf":1.0}}},"x":{"df":1,"docs":{"248":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.0}},"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":{},"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":1,"docs":{"288":{"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":{}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"160":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"228":{"tf":1.0},"260":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"173":{"tf":1.7320508075688772},"208":{"tf":1.0}}},"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"]":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"c":{"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":{}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"173":{"tf":1.7320508075688772},"221":{"tf":2.23606797749979}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"173":{"tf":1.0}},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":2.6457513110645907}}}}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"272":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"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":{"186":{"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":{"186":{"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":{"186":{"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":86,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"127":{"tf":2.0},"131":{"tf":1.0},"134":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"15":{"tf":1.0},"155":{"tf":2.23606797749979},"156":{"tf":3.4641016151377544},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":2.0},"177":{"tf":1.7320508075688772},"181":{"tf":1.0},"183":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.0},"189":{"tf":1.0},"204":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":2.0},"248":{"tf":2.8284271247461903},"249":{"tf":2.0},"25":{"tf":1.0},"250":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"254":{"tf":2.449489742783178},"257":{"tf":2.0},"259":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":2.0},"266":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"36":{"tf":1.0},"45":{"tf":1.4142135623730951},"82":{"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":{"176":{"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":{"177":{"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":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"253":{"tf":1.4142135623730951},"254":{"tf":1.7320508075688772},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"279":{"tf":1.0}}}}}},"t":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"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":1,"docs":{"228":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"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":{"150":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"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":{"235":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":10,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"189":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.0},"263":{"tf":1.0},"271":{"tf":1.0},"278":{"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":{"188":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"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":{"235":{"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":{"235":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"228":{"tf":1.0},"229":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"229":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"273":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"273":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"206":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"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":{"235":{"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":2,"docs":{"293":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"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":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"152":{"tf":2.0}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"[":{"1":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"153":{"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":{"235":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"208":{"tf":1.0},"288":{"tf":1.0}}}},"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":{"231":{"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":{"231":{"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":{"235":{"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":{"235":{"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":{"235":{"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":{"231":{"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":{"233":{"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":{"231":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"233":{"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":{"184":{"tf":3.0}}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"221":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":20,"docs":{"222":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":13,"docs":{"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"194":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"277":{"tf":1.0},"49":{"tf":1.0},"64":{"tf":1.0}},"n":{"df":26,"docs":{"124":{"tf":1.0},"131":{"tf":1.0},"155":{"tf":1.0},"165":{"tf":1.7320508075688772},"175":{"tf":1.0},"199":{"tf":1.4142135623730951},"210":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":2.8284271247461903},"291":{"tf":1.4142135623730951},"293":{"tf":2.6457513110645907},"298":{"tf":1.4142135623730951},"36":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"220":{"tf":1.4142135623730951},"227":{"tf":1.0},"238":{"tf":1.0},"288":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"147":{"tf":1.4142135623730951},"187":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"93":{"tf":1.0}}}},"df":16,"docs":{"15":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"277":{"tf":1.4142135623730951},"28":{"tf":1.0},"280":{"tf":1.0}},"e":{"df":3,"docs":{"173":{"tf":1.0},"187":{"tf":1.0},"275":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{}},"o":{"d":{"b":{"df":0,"docs":{},"y":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":9,"docs":{"166":{"tf":1.4142135623730951},"206":{"tf":1.0},"208":{"tf":1.0},"245":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"231":{"tf":1.0},"236":{"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":{"244":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"222":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"h":{"df":19,"docs":{"148":{"tf":1.0},"211":{"tf":1.0},"231":{"tf":2.6457513110645907},"232":{"tf":3.4641016151377544},"233":{"tf":3.1622776601683795},"234":{"tf":2.0},"235":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":3.7416573867739413},"240":{"tf":2.6457513110645907},"241":{"tf":1.0},"244":{"tf":3.7416573867739413},"246":{"tf":2.6457513110645907},"248":{"tf":2.6457513110645907},"254":{"tf":1.4142135623730951},"255":{"tf":2.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"288":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"234":{"tf":2.0}}}}}}},"r":{"df":2,"docs":{"233":{"tf":1.4142135623730951},"234":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"232":{"tf":1.0},"259":{"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":{"111":{"tf":2.23606797749979},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"51":{"tf":1.0},"74":{"tf":3.3166247903554}}},"t":{"df":6,"docs":{"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.0},"34":{"tf":1.0},"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"253":{"tf":1.0},"254":{"tf":2.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":3,"docs":{"254":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"0":{"df":1,"docs":{"254":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"299":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"209":{"tf":1.0}}}},"w":{"df":1,"docs":{"199":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"279":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"231":{"tf":2.0},"232":{"tf":3.7416573867739413},"235":{"tf":2.23606797749979},"239":{"tf":1.4142135623730951},"240":{"tf":2.0}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":25,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"173":{"tf":1.0},"187":{"tf":1.4142135623730951},"198":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.0},"3":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"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":{":":{"1":{"df":1,"docs":{"239":{"tf":1.0}}},"3":{"df":1,"docs":{"239":{"tf":1.0}}},"4":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{":":{"5":{"df":1,"docs":{"240":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"'":{"df":3,"docs":{"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"210":{"tf":1.0}}},"d":{"df":4,"docs":{"15":{"tf":1.0},"217":{"tf":1.0},"25":{"tf":1.0},"252":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"1":{">":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":13,"docs":{"144":{"tf":1.0},"154":{"tf":1.4142135623730951},"173":{"tf":1.0},"208":{"tf":1.0},"228":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"245":{"tf":1.0},"26":{"tf":1.0},"280":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"82":{"tf":1.0}},"i":{"df":1,"docs":{"276":{"tf":1.0}}},"l":{"df":23,"docs":{"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"161":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":1.0},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"244":{"tf":2.6457513110645907},"247":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.0},"271":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":2.449489742783178},"261":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":16,"docs":{"103":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"138":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.4142135623730951},"181":{"tf":1.0},"201":{"tf":1.0},"213":{"tf":1.0},"231":{"tf":1.0},"238":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0},"84":{"tf":1.0}}}},"i":{"df":2,"docs":{"153":{"tf":1.0},"208":{"tf":1.0}}}}},"r":{"d":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"173":{"tf":1.0},"261":{"tf":1.0}}},"df":0,"docs":{}}},"df":6,"docs":{"119":{"tf":1.0},"147":{"tf":1.0},"161":{"tf":1.0},"201":{"tf":1.0},"245":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"245":{"tf":1.0},"277":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"230":{"tf":1.0},"231":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"83":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":1,"docs":{"298":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"159":{"tf":1.0},"194":{"tf":1.0},"234":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":12,"docs":{"117":{"tf":1.0},"183":{"tf":1.4142135623730951},"194":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"267":{"tf":1.0},"276":{"tf":1.0},"280":{"tf":1.0},"34":{"tf":1.0},"76":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"72":{"tf":1.0}},"e":{"a":{"d":{"df":5,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":2.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"262":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"209":{"tf":1.0},"45":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"213":{"tf":1.0},"271":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}},"}":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}}}}}}}}},"l":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"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":8,"docs":{"228":{"tf":1.0},"263":{"tf":1.0},"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":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"228":{"tf":1.7320508075688772},"229":{"tf":1.0},"263":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":12,"docs":{"138":{"tf":1.4142135623730951},"158":{"tf":1.0},"228":{"tf":1.0},"263":{"tf":2.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},"65":{"tf":2.0},"8":{"tf":1.4142135623730951}}}},"p":{"df":3,"docs":{"169":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.0}}}},"n":{"c":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"138":{"tf":1.0},"161":{"tf":1.0}}},"df":40,"docs":{"103":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"147":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"193":{"tf":1.0},"219":{"tf":1.0},"23":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"282":{"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":{"59":{"tf":1.0}}}}}}}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"201":{"tf":1.0},"209":{"tf":1.4142135623730951}}}},"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":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"15":{"tf":1.0},"152":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"243":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":9,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"116":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"65":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.0},"43":{"tf":1.0}}}}},"o":{"c":{"df":2,"docs":{"113":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"128":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"152":{"tf":1.0},"164":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"235":{"tf":1.7320508075688772},"261":{"tf":1.4142135623730951}},"e":{".":{"<":{"/":{"df":0,"docs":{},"p":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.0},"262":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"209":{"tf":1.0},"78":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"274":{"tf":1.0}}}},"df":6,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"257":{"tf":1.4142135623730951}},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"221":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"172":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.4142135623730951},"124":{"tf":1.7320508075688772}},"s":{"(":{"4":{".":{"0":{"df":1,"docs":{"124":{"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":{"124":{"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":{"235":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"261":{"tf":2.0},"262":{"tf":2.0},"263":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"4":{"0":{"0":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"0":{"4":{"c":{"df":0,"docs":{},"f":{"a":{"d":{"0":{"1":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"7":{"df":0,"docs":{},"f":{"3":{"b":{"8":{"a":{"df":0,"docs":{},"e":{"5":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"221":{"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":{}},"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":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"8":{"0":{"8":{"0":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"254":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"4":{"0":{"0":{"0":{"df":1,"docs":{"221":{"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":{},"s":{":":{"/":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"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":{},"k":{"2":{"0":{"0":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"@":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}}},"df":1,"docs":{"256":{"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":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"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":{":":{"8":{"df":1,"docs":{"254":{"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":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"221":{"tf":3.0},"252":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"255":{"tf":1.0},"261":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"s":{":":{"/":{"/":{"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":{},"r":{"df":0,"docs":{},"e":{"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":{"/":{"b":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"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":{}},"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"8":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"/":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"300":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"/":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"a":{"d":{"d":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"293":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"298":{"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":{}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"9":{"9":{"/":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"a":{"df":0,"docs":{},"v":{"a":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"2":{"2":{".":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"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":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"298":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{".":{"1":{"df":1,"docs":{"300":{"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":{}}},"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":{}}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{".":{"b":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"d":{"df":0,"docs":{},"w":{"b":{"7":{"d":{"df":0,"docs":{},"f":{"8":{"?":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"=":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"1":{"df":1,"docs":{"279":{"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":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":2,"docs":{"254":{"tf":1.7320508075688772},"256":{"tf":1.0}}}},"i":{"c":{"df":5,"docs":{"221":{"tf":1.0},"253":{"tf":1.4142135623730951},"254":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"229":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"171":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"202":{"tf":1.0}}},"df":0,"docs":{}}}},"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":{"93":{"tf":1.0}}}}}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"184":{"tf":1.4142135623730951},"185":{"tf":1.0},"230":{"tf":1.0},"276":{"tf":1.0},"64":{"tf":2.0}}}},"m":{"df":2,"docs":{"172":{"tf":1.0},"184":{"tf":1.0}}}},".":{"df":3,"docs":{"111":{"tf":1.0},"231":{"tf":1.0},"71":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"142":{"tf":1.0},"230":{"tf":1.0}}}},"1":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}},"d":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"209":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"261":{"tf":1.0}},"e":{"a":{"df":3,"docs":{"140":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0}},"l":{"df":4,"docs":{"129":{"tf":1.0},"165":{"tf":1.0},"247":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"124":{"tf":1.0},"150":{"tf":1.0},"186":{"tf":1.0},"239":{"tf":1.0},"240":{"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":{"51":{"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":4,"docs":{"151":{"tf":1.0},"215":{"tf":1.0},"32":{"tf":1.0},"95":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"_":{"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":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"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":{"130":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"130":{"tf":1.0},"148":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"69":{"tf":1.7320508075688772},"73":{"tf":1.0},"84":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"114":{"tf":1.0},"221":{"tf":1.0},"232":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"278":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"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":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":5,"docs":{"155":{"tf":1.0},"168":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0},"288":{"tf":1.7320508075688772}}}},"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":{"80":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"103":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":2.0},"208":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"238":{"tf":1.0},"239":{"tf":2.0},"240":{"tf":1.7320508075688772},"293":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":2.0},"86":{"tf":1.4142135623730951}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"184":{"tf":1.0},"188":{"tf":1.0},"230":{"tf":1.4142135623730951},"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"232":{"tf":1.0},"64":{"tf":1.0}}}},"l":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"221":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"127":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"177":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":66,"docs":{"109":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"158":{"tf":2.23606797749979},"159":{"tf":2.0},"160":{"tf":2.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":2.6457513110645907},"165":{"tf":4.0},"166":{"tf":1.0},"167":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"169":{"tf":1.0},"170":{"tf":2.6457513110645907},"171":{"tf":2.23606797749979},"172":{"tf":1.0},"173":{"tf":2.6457513110645907},"175":{"tf":2.23606797749979},"178":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951},"187":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":2.0},"194":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"199":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"254":{"tf":2.23606797749979},"255":{"tf":2.23606797749979},"256":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"266":{"tf":2.0},"267":{"tf":2.0},"272":{"tf":2.0},"273":{"tf":2.0},"274":{"tf":2.0},"279":{"tf":2.449489742783178},"28":{"tf":1.0},"280":{"tf":1.7320508075688772},"284":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"7":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}}}}},"i":{"c":{"df":4,"docs":{"140":{"tf":1.0},"165":{"tf":1.0},"244":{"tf":1.0},"250":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.4142135623730951},"274":{"tf":1.0},"281":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"133":{"tf":1.0},"223":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":8,"docs":{"130":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":2.0},"166":{"tf":2.0},"198":{"tf":1.0},"206":{"tf":1.0},"231":{"tf":1.0}},"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":{"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":{":":{"3":{"df":1,"docs":{"164":{"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":{}}}},"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":6,"docs":{"131":{"tf":1.0},"147":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}}}}}}},"df":13,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"170":{"tf":1.7320508075688772},"182":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"24":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"266":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"s":{"df":5,"docs":{"103":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"264":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":12,"docs":{"127":{"tf":1.0},"130":{"tf":2.23606797749979},"151":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"244":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":31,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"159":{"tf":1.0},"206":{"tf":1.0},"242":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"264":{"tf":1.0}}}},"u":{"d":{"df":17,"docs":{"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"156":{"tf":1.0},"173":{"tf":1.0},"199":{"tf":1.0},"220":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"38":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"244":{"tf":1.7320508075688772},"255":{"tf":1.7320508075688772}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"282":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"208":{"tf":1.0},"291":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"d":{"df":3,"docs":{"182":{"tf":1.0},"215":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"190":{"tf":1.0},"260":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}},"d":{"df":2,"docs":{"175":{"tf":2.23606797749979},"48":{"tf":1.0}},"e":{"df":1,"docs":{"131":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"199":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"208":{"tf":1.0},"230":{"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":{"177":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"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":{"177":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"175":{"tf":2.0},"176":{"tf":1.4142135623730951}}}},"df":2,"docs":{"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}},"df":14,"docs":{"101":{"tf":3.0},"102":{"tf":2.449489742783178},"137":{"tf":1.4142135623730951},"152":{"tf":2.449489742783178},"161":{"tf":3.0},"162":{"tf":3.4641016151377544},"164":{"tf":3.605551275463989},"165":{"tf":4.47213595499958},"288":{"tf":1.4142135623730951},"291":{"tf":3.1622776601683795},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.23606797749979}},"o":{"df":0,"docs":{},"f":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":6,"docs":{"152":{"tf":1.4142135623730951},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"175":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}},"i":{"c":{"df":8,"docs":{"115":{"tf":1.0},"130":{"tf":1.0},"137":{"tf":1.0},"154":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"177":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"184":{"tf":1.0},"241":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"264":{"tf":1.0}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"243":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"225":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"127":{"tf":2.23606797749979},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"254":{"tf":1.0},"5":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"130":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"214":{"tf":1.0},"246":{"tf":1.0},"256":{"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":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"o":{"df":2,"docs":{"110":{"tf":1.0},"32":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"152":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"198":{"tf":1.0},"239":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"142":{"tf":1.0},"164":{"tf":1.4142135623730951},"209":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"276":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"169":{"tf":1.4142135623730951},"264":{"tf":1.7320508075688772},"274":{"tf":2.8284271247461903},"279":{"tf":1.0},"280":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{".":{"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":{"206":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"206":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"+":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"288":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"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":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"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":{":":{"2":{"df":1,"docs":{"206":{"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":{}}}}}}}},"df":42,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"11":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.7320508075688772},"136":{"tf":1.0},"155":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":3.0},"205":{"tf":1.0},"206":{"tf":3.7416573867739413},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"209":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":2.0},"213":{"tf":2.23606797749979},"214":{"tf":1.0},"219":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"46":{"tf":2.23606797749979},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0},"94":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"235":{"tf":1.7320508075688772},"271":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"186":{"tf":1.0},"261":{"tf":1.0},"83":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"+":{"+":{"+":{"!":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"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":{},"}":{"+":{"+":{"+":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"203":{"tf":1.0}}},"b":{"df":1,"docs":{"203":{"tf":1.0}}},"df":3,"docs":{"180":{"tf":1.0},"184":{"tf":1.0},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"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":{"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"52":{"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":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"297":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"140":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":3.4641016151377544},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"262":{"tf":1.0},"291":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":6,"docs":{"149":{"tf":1.0},"173":{"tf":1.0},"199":{"tf":1.0},"244":{"tf":1.0},"286":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"213":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":9,"docs":{"109":{"tf":1.0},"151":{"tf":1.0},"236":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"76":{"tf":1.0},"77":{"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":7,"docs":{"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"127":{"tf":1.0},"188":{"tf":1.7320508075688772},"206":{"tf":2.449489742783178},"207":{"tf":1.0},"291":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":13,"docs":{"108":{"tf":3.4641016151377544},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"138":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"207":{"tf":1.7320508075688772},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0},"293":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"184":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":7,"docs":{"121":{"tf":1.4142135623730951},"130":{"tf":1.0},"188":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":32,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"152":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"218":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":1.0},"90":{"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},"234":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":86,"docs":{"101":{"tf":2.6457513110645907},"102":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"108":{"tf":2.8284271247461903},"109":{"tf":2.23606797749979},"114":{"tf":2.0},"115":{"tf":1.0},"117":{"tf":2.0},"120":{"tf":1.7320508075688772},"122":{"tf":2.449489742783178},"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":2.23606797749979},"136":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":2.6457513110645907},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":2.23606797749979},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"158":{"tf":2.0},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":3.0},"165":{"tf":3.7416573867739413},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.0},"177":{"tf":2.449489742783178},"180":{"tf":2.449489742783178},"181":{"tf":2.449489742783178},"184":{"tf":1.7320508075688772},"186":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"192":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"206":{"tf":2.23606797749979},"207":{"tf":2.23606797749979},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"232":{"tf":1.0},"239":{"tf":2.8284271247461903},"240":{"tf":1.4142135623730951},"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":2.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"291":{"tf":4.47213595499958},"294":{"tf":3.4641016151377544},"295":{"tf":1.4142135623730951},"296":{"tf":2.0},"297":{"tf":1.0},"300":{"tf":4.358898943540674},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"60":{"tf":1.4142135623730951},"72":{"tf":2.6457513110645907},"75":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"137":{"tf":1.0},"84":{"tf":1.0}},"r":{"df":3,"docs":{"222":{"tf":1.0},"260":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"n":{"d":{"df":17,"docs":{"136":{"tf":1.0},"138":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"194":{"tf":1.4142135623730951},"200":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"243":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"284":{"tf":1.0},"64":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"115":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"157":{"tf":1.0},"188":{"tf":1.0},"245":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"174":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"101":{"tf":1.0},"158":{"tf":1.0},"209":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"122":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"118":{"tf":1.0},"201":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"184":{"tf":1.0},"229":{"tf":1.0},"258":{"tf":1.0},"272":{"tf":1.0},"280":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"f":{"a":{"c":{"df":8,"docs":{"157":{"tf":1.7320508075688772},"160":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":2.0},"172":{"tf":1.0},"193":{"tf":1.0},"276":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}}}}}}}}}}}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"n":{"d":{"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":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":5,"docs":{"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}}}},"df":17,"docs":{"179":{"tf":1.0},"183":{"tf":1.0},"201":{"tf":2.23606797749979},"208":{"tf":1.0},"209":{"tf":3.4641016151377544},"236":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.4142135623730951},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"286":{"tf":1.0},"3":{"tf":1.0},"70":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"117":{"tf":2.0}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"128":{"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":{"107":{"tf":1.0},"108":{"tf":2.449489742783178},"109":{"tf":3.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"243":{"tf":1.0},"254":{"tf":1.0},"93":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":6,"docs":{"19":{"tf":1.0},"236":{"tf":1.0},"240":{"tf":1.0},"247":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}},"t":{"df":1,"docs":{"199":{"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":{"114":{"tf":2.0}}}}}}}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"<":{"df":0,"docs":{},"x":{"df":1,"docs":{"126":{"tf":1.0}}}},"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":2.0}}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":25,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"239":{"tf":1.4142135623730951},"254":{"tf":1.0},"270":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"118":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"245":{"tf":1.0},"274":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"k":{"df":5,"docs":{"188":{"tf":1.0},"235":{"tf":1.0},"25":{"tf":1.7320508075688772},"293":{"tf":1.0},"32":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"286":{"tf":1.0}}}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"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":{},"n":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"103":{"tf":1.0},"153":{"tf":1.0},"213":{"tf":1.0},"235":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"179":{"tf":1.0},"190":{"tf":1.0},"208":{"tf":1.4142135623730951},"222":{"tf":1.0},"231":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":10,"docs":{"116":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"230":{"tf":1.4142135623730951},"246":{"tf":1.0},"268":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"t":{"'":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":56,"docs":{"10":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"233":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"245":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"29":{"tf":1.0},"299":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"203":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"230":{"tf":1.0}}},"r":{"df":7,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"76":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":25,"docs":{"117":{"tf":1.0},"147":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"164":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"217":{"tf":1.0},"222":{"tf":1.0},"249":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.4142135623730951},"280":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"221":{"tf":1.0},"233":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"189":{"tf":1.0},"218":{"tf":1.7320508075688772},"25":{"tf":1.0},"33":{"tf":2.449489742783178}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"207":{"tf":2.0},"221":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951}}}}},"v":{"a":{"'":{"df":3,"docs":{"172":{"tf":1.4142135623730951},"278":{"tf":1.0},"55":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"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":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":1,"docs":{"284":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"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":{"291":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"83":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":2,"docs":{"151":{"tf":1.0},"169":{"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":{},"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":{}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"243":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":20,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":2.8284271247461903},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"189":{"tf":1.0},"198":{"tf":1.0},"218":{"tf":1.0},"22":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951},"33":{"tf":2.0},"66":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"180":{"tf":1.7320508075688772}},"o":{"b":{"df":2,"docs":{"140":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"64":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"276":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"300":{"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":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"221":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"257":{"tf":3.0},"258":{"tf":1.4142135623730951}}}}},"u":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"252":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"214":{"tf":1.0}}},"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":2,"docs":{"293":{"tf":6.082762530298219},"99":{"tf":1.0}}}},"df":5,"docs":{"293":{"tf":5.830951894845301},"58":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":20,"docs":{"116":{"tf":1.0},"131":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"18":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"268":{"tf":1.0},"33":{"tf":1.0}}}},"y":{"df":10,"docs":{"183":{"tf":1.0},"230":{"tf":1.0},"273":{"tf":1.0},"293":{"tf":5.830951894845301},"39":{"tf":1.0},"58":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.0}}}},"n":{"d":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"280":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":22,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"189":{"tf":1.0},"194":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":3,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":14,"docs":{"107":{"tf":1.0},"108":{"tf":2.0},"13":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"183":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.4142135623730951},"276":{"tf":1.0},"278":{"tf":1.0},"64":{"tf":1.4142135623730951},"71":{"tf":1.0}}}}}}},"l":{"1":{"2":{"3":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"187":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"184":{"tf":1.4142135623730951},"187":{"tf":2.6457513110645907}}},"2":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"187":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"184":{"tf":1.4142135623730951},"187":{"tf":2.6457513110645907}}},"[":{"0":{"df":4,"docs":{"150":{"tf":1.7320508075688772},"156":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}},"9":{"9":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":3,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"156":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"175":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"271":{"tf":1.4142135623730951}}}},"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}}}}}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"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":{"135":{"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":{"148":{"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":15,"docs":{"114":{"tf":1.4142135623730951},"135":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":1.4142135623730951},"147":{"tf":2.6457513110645907},"148":{"tf":2.0},"149":{"tf":2.449489742783178},"150":{"tf":1.0},"155":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"241":{"tf":2.23606797749979},"250":{"tf":2.0},"293":{"tf":1.4142135623730951}}},"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":11,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"/":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"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":{":":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"278":{"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":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"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":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{"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":7,"docs":{"189":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"=":{"\\":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.0}}}}},"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":47,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"107":{"tf":2.0},"113":{"tf":1.0},"131":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"151":{"tf":1.7320508075688772},"158":{"tf":1.0},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.4142135623730951},"198":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.4142135623730951},"220":{"tf":1.0},"222":{"tf":1.4142135623730951},"228":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"24":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"259":{"tf":1.4142135623730951},"260":{"tf":1.0},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"33":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.4142135623730951}},"e":{"'":{"df":2,"docs":{"260":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":15,"docs":{"182":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0},"278":{"tf":1.0},"51":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"190":{"tf":1.4142135623730951},"232":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"174":{"tf":1.0},"230":{"tf":1.0},"291":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0},"79":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":9,"docs":{"110":{"tf":1.0},"144":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.0},"244":{"tf":1.0},"278":{"tf":1.4142135623730951},"288":{"tf":1.0},"93":{"tf":2.0},"94":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"122":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"213":{"tf":2.23606797749979},"235":{"tf":1.7320508075688772}}}}},"df":22,"docs":{"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":2.23606797749979},"248":{"tf":1.4142135623730951},"281":{"tf":1.0},"45":{"tf":1.0},"60":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":15,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.0},"160":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.4142135623730951},"246":{"tf":1.0},"252":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":15,"docs":{"14":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"214":{"tf":1.4142135623730951},"262":{"tf":1.0},"280":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"67":{"tf":1.0}}}},"v":{"df":10,"docs":{"107":{"tf":1.0},"147":{"tf":1.0},"166":{"tf":1.0},"178":{"tf":1.0},"215":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"298":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":9,"docs":{"107":{"tf":1.0},"128":{"tf":2.8284271247461903},"129":{"tf":2.6457513110645907},"153":{"tf":1.0},"154":{"tf":1.0},"179":{"tf":2.23606797749979},"217":{"tf":1.0},"271":{"tf":1.0},"291":{"tf":1.0}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"103":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"248":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"n":{"(":{"\"":{"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":{},"t":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"155":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0}},"l":{"df":5,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"156":{"tf":1.0},"175":{"tf":1.0},"90":{"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":{"180":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"180":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{")":{".":{"df":0,"docs":{},"v":{"df":2,"docs":{"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":2,"docs":{"168":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"64":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"110":{"tf":1.0},"172":{"tf":1.0},"229":{"tf":1.0}}},"t":{"df":1,"docs":{"184":{"tf":1.0}}}},"t":{"'":{"df":10,"docs":{"15":{"tf":1.0},"152":{"tf":1.0},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.0},"212":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0}}},"df":2,"docs":{"130":{"tf":1.0},"189":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"194":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":21,"docs":{"116":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"233":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"273":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"83":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"119":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"260":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"h":{"df":4,"docs":{"134":{"tf":1.0},"135":{"tf":2.0},"145":{"tf":1.4142135623730951},"158":{"tf":1.0}},"s":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"158":{"tf":1.0}}}}}}}},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"215":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"5":{"tf":1.0},"86":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":1,"docs":{"243":{"tf":1.4142135623730951}}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"209":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"174":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"210":{"tf":1.0},"213":{"tf":1.0}}}}}}},"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":{"111":{"tf":2.0},"112":{"tf":2.449489742783178},"113":{"tf":2.449489742783178},"74":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":2.6457513110645907}}}}}}}}}},"df":1,"docs":{"111":{"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":2,"docs":{"215":{"tf":1.0},"244":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":16,"docs":{"113":{"tf":1.0},"133":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"205":{"tf":1.0},"244":{"tf":1.0},"245":{"tf":1.0},"250":{"tf":1.0},"258":{"tf":1.0},"277":{"tf":1.4142135623730951},"300":{"tf":1.0},"69":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"293":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":26,"docs":{"150":{"tf":1.0},"2":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.7320508075688772},"220":{"tf":2.449489742783178},"228":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"84":{"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":3,"docs":{"110":{"tf":1.0},"169":{"tf":1.0},"300":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"110":{"tf":1.7320508075688772}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"291":{"tf":1.0}}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":44,"docs":{"110":{"tf":1.4142135623730951},"136":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":2.0},"156":{"tf":1.4142135623730951},"173":{"tf":1.7320508075688772},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"181":{"tf":1.0},"183":{"tf":2.449489742783178},"184":{"tf":2.8284271247461903},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"204":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"247":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.7320508075688772},"270":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":3.0},"291":{"tf":6.855654600401044},"298":{"tf":1.7320508075688772},"36":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":2.6457513110645907},"87":{"tf":2.23606797749979},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":2.0},"91":{"tf":2.23606797749979},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.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":{"91":{"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":{"184":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":5,"docs":{"281":{"tf":1.4142135623730951},"60":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"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":{"77":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":2,"docs":{"84":{"tf":1.0},"91":{"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":{"184":{"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},"244":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"114":{"tf":1.0},"137":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"49":{"tf":2.0},"84":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}},"l":{"df":3,"docs":{"156":{"tf":1.0},"165":{"tf":1.0},"288":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"147":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"246":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"246":{"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":3,"docs":{"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":7,"docs":{"189":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{":":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"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":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":4,"docs":{"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"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":12,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"214":{"tf":1.0},"24":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"278":{"tf":1.0},"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"147":{"tf":1.0},"22":{"tf":1.0},"221":{"tf":1.0},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"221":{"tf":1.0},"257":{"tf":1.0}}}}}}},"t":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"196":{"tf":1.0},"237":{"tf":1.0},"24":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.0}}}},"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"212":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"212":{"tf":1.0}}}}}},"df":5,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"213":{"tf":1.7320508075688772},"257":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}},"i":{"c":{"df":23,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"140":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.0},"173":{"tf":1.4142135623730951},"180":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"244":{"tf":1.7320508075688772},"246":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"147":{"tf":1.0},"173":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0},"248":{"tf":1.0},"255":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"292":{"tf":1.7320508075688772},"296":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.4142135623730951},"244":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"228":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"228":{"tf":1.4142135623730951},"229":{"tf":1.0}}},"df":0,"docs":{}}},"df":19,"docs":{"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"145":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"34":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"160":{"tf":1.0}}}}},"p":{"'":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":21,"docs":{"155":{"tf":1.0},"186":{"tf":1.0},"197":{"tf":1.0},"214":{"tf":1.0},"246":{"tf":1.0},"256":{"tf":1.0},"270":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"98":{"tf":1.0}}},"s":{"df":1,"docs":{"198":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"244":{"tf":1.7320508075688772},"277":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},"t":{"df":4,"docs":{"201":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0}}},"w":{"df":5,"docs":{"152":{"tf":1.0},"187":{"tf":1.0},"244":{"tf":1.0},"276":{"tf":1.4142135623730951},"45":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"230":{"tf":1.0}}}}},"o":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":10,"docs":{"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"270":{"tf":2.0},"271":{"tf":2.449489742783178},"273":{"tf":1.0},"275":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":2.0},"279":{"tf":1.7320508075688772},"280":{"tf":1.4142135623730951}},"s":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":17,"docs":{"11":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"187":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"243":{"tf":1.0},"256":{"tf":1.0},"275":{"tf":1.0},"293":{"tf":2.449489742783178},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}},"df":3,"docs":{"228":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"254":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"172":{"tf":1.0}}}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":12,"docs":{"189":{"tf":1.0},"197":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"267":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}}},"df":10,"docs":{"211":{"tf":1.0},"212":{"tf":2.0},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"234":{"tf":1.0},"25":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951},"27":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":14,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"165":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"215":{"tf":1.0},"226":{"tf":1.0},"252":{"tf":1.0},"273":{"tf":1.0},"7":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"118":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"272":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"131":{"tf":1.0},"155":{"tf":1.0},"269":{"tf":1.0},"82":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":61,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.0},"18":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"211":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"226":{"tf":1.0},"227":{"tf":1.7320508075688772},"229":{"tf":1.0},"230":{"tf":2.0},"239":{"tf":1.0},"243":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"245":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.0},"252":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"257":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":2.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"280":{"tf":1.0},"300":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0},"95":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"c":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"272":{"tf":1.0},"273":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"(":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":3,"docs":{"274":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.4142135623730951}}}}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"231":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"244":{"tf":1.0},"5":{"tf":1.0},"70":{"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":{"156":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"51":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"242":{"tf":1.0}}},"i":{"df":26,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"151":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"39":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"140":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"260":{"tf":1.0},"82":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"209":{"tf":1.0},"260":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":17,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"150":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.7320508075688772},"209":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"242":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.4142135623730951},"277":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"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":{"184":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"<":{"a":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":10,"docs":{"230":{"tf":1.0},"293":{"tf":8.0},"39":{"tf":1.0},"58":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":2.23606797749979},"98":{"tf":1.4142135623730951},"99":{"tf":2.6457513110645907}},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"146":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"230":{"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":{"99":{"tf":1.0}}}}},"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":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"293":{"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":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":2.23606797749979}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"263":{"tf":1.4142135623730951}}}}}},"df":3,"docs":{"16":{"tf":1.0},"209":{"tf":1.0},"243":{"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":{"69":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"69":{"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":21,"docs":{"102":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"186":{"tf":1.0},"219":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"68":{"tf":1.4142135623730951},"69":{"tf":3.605551275463989},"70":{"tf":2.23606797749979},"71":{"tf":1.7320508075688772},"72":{"tf":2.6457513110645907},"73":{"tf":2.449489742783178},"74":{"tf":3.1622776601683795},"75":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"294":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"180":{"tf":1.0},"223":{"tf":1.0},"25":{"tf":1.0},"272":{"tf":1.0}}}}}},"x":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"186":{"tf":2.23606797749979}}}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"177":{"tf":2.0}}},"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"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":{"127":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"125":{"tf":1.0},"127":{"tf":1.0}}}}},"1":{"0":{"df":1,"docs":{"125":{"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":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"125":{"tf":1.0},"127":{"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":{"127":{"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":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"127":{"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":{"235":{"tf":2.23606797749979}}}}},"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}}}}}}}}}}}},"df":5,"docs":{"288":{"tf":1.7320508075688772},"293":{"tf":2.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":28,"docs":{"132":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.4142135623730951},"171":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0},"195":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"252":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"288":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"111":{"tf":1.0},"187":{"tf":1.0},"244":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}}},"t":{"df":1,"docs":{"280":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":22,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"171":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"245":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.0},"39":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"51":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"235":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"183":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.0},"237":{"tf":1.4142135623730951},"244":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"157":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"153":{"tf":1.0},"174":{"tf":1.0},"214":{"tf":1.0},"224":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"293":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"221":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":1,"docs":{"262":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":14,"docs":{"229":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"265":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"158":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"df":7,"docs":{"170":{"tf":2.0},"220":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"124":{"tf":2.23606797749979}},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.4142135623730951}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":3,"docs":{"272":{"tf":1.0},"279":{"tf":1.0},"48":{"tf":1.0}}}},"n":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":11,"docs":{"116":{"tf":1.0},"131":{"tf":1.0},"166":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"220":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"260":{"tf":1.0},"69":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"263":{"tf":1.4142135623730951},"291":{"tf":1.0},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"291":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"155":{"tf":1.0}}}},"u":{"df":1,"docs":{"278":{"tf":1.0}},"t":{"df":2,"docs":{"11":{"tf":1.0},"189":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":5,"docs":{"189":{"tf":1.0},"229":{"tf":1.0},"254":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"112":{"tf":1.7320508075688772},"189":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"230":{"tf":1.0},"75":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"244":{"tf":1.0}}}}},"x":{"df":1,"docs":{"85":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":20,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"122":{"tf":1.0},"151":{"tf":2.0},"152":{"tf":1.0},"153":{"tf":1.0},"157":{"tf":1.0},"189":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"274":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"98":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"274":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"249":{"tf":1.0},"298":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"198":{"tf":1.0}}}},"df":85,"docs":{"127":{"tf":1.0},"152":{"tf":1.0},"16":{"tf":1.0},"164":{"tf":1.0},"17":{"tf":1.7320508075688772},"189":{"tf":1.4142135623730951},"190":{"tf":2.23606797749979},"191":{"tf":1.7320508075688772},"192":{"tf":1.4142135623730951},"193":{"tf":1.4142135623730951},"194":{"tf":3.4641016151377544},"195":{"tf":1.7320508075688772},"196":{"tf":1.0},"197":{"tf":1.4142135623730951},"198":{"tf":2.23606797749979},"199":{"tf":2.23606797749979},"2":{"tf":1.0},"200":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"204":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.7320508075688772},"211":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"220":{"tf":1.7320508075688772},"221":{"tf":1.7320508075688772},"224":{"tf":1.0},"225":{"tf":1.7320508075688772},"226":{"tf":2.0},"227":{"tf":1.0},"228":{"tf":2.6457513110645907},"229":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"255":{"tf":1.0},"265":{"tf":1.4142135623730951},"266":{"tf":2.0},"267":{"tf":2.449489742783178},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":2.6457513110645907},"279":{"tf":3.1622776601683795},"281":{"tf":2.23606797749979},"283":{"tf":1.4142135623730951},"284":{"tf":1.7320508075688772},"285":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"291":{"tf":2.449489742783178},"292":{"tf":1.4142135623730951},"293":{"tf":2.449489742783178},"294":{"tf":1.4142135623730951},"295":{"tf":1.4142135623730951},"296":{"tf":1.4142135623730951},"297":{"tf":1.4142135623730951},"298":{"tf":2.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.4142135623730951},"301":{"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},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"'":{"df":13,"docs":{"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"219":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.7320508075688772},"286":{"tf":1.0}}},"(":{"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":17,"docs":{"195":{"tf":1.4142135623730951},"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"266":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0},"286":{"tf":1.0},"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":5,"docs":{"172":{"tf":1.0},"198":{"tf":1.0},"243":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0}}}}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"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":3,"docs":{"139":{"tf":1.0},"160":{"tf":1.4142135623730951},"171":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":86,"docs":{"101":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"138":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"193":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.7320508075688772},"221":{"tf":1.0},"222":{"tf":1.4142135623730951},"224":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.7320508075688772},"229":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.7320508075688772},"237":{"tf":1.4142135623730951},"241":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":2.0},"260":{"tf":1.7320508075688772},"261":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"280":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"279":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":7,"docs":{"189":{"tf":1.0},"221":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.4142135623730951},"271":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0}}},"i":{"df":1,"docs":{"231":{"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":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"124":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"124":{"tf":2.23606797749979}}}},"s":{"df":0,"docs":{},"g":{"df":7,"docs":{"212":{"tf":1.0},"228":{"tf":1.4142135623730951},"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":27,"docs":{"107":{"tf":1.4142135623730951},"131":{"tf":1.0},"156":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.0},"221":{"tf":1.0},"227":{"tf":1.0},"231":{"tf":1.4142135623730951},"233":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"277":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"197":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"239":{"tf":1.0},"240":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":28,"docs":{"138":{"tf":1.0},"139":{"tf":1.0},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"187":{"tf":1.0},"193":{"tf":1.0},"199":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.4142135623730951},"239":{"tf":1.0},"241":{"tf":1.0},"266":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"293":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":2,"docs":{"192":{"tf":1.0},"193":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"291":{"tf":1.0},"293":{"tf":1.0}}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":32,"docs":{"103":{"tf":2.0},"106":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"180":{"tf":2.23606797749979},"181":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"187":{"tf":2.449489742783178},"188":{"tf":1.4142135623730951},"201":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":2.449489742783178},"240":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":2.449489742783178},"243":{"tf":2.23606797749979},"293":{"tf":2.0},"298":{"tf":1.0},"4":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":2.8284271247461903},"86":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.0}}}},"t":{"df":16,"docs":{"103":{"tf":2.8284271247461903},"106":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":2.0},"183":{"tf":1.0},"187":{"tf":1.0},"201":{"tf":1.0},"207":{"tf":2.0},"209":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.0},"242":{"tf":1.0},"84":{"tf":1.0}}}},"df":41,"docs":{"103":{"tf":2.449489742783178},"106":{"tf":2.0},"150":{"tf":2.23606797749979},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"173":{"tf":2.0},"178":{"tf":2.23606797749979},"179":{"tf":3.1622776601683795},"180":{"tf":3.872983346207417},"181":{"tf":1.4142135623730951},"183":{"tf":1.7320508075688772},"184":{"tf":2.23606797749979},"187":{"tf":3.605551275463989},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"281":{"tf":1.7320508075688772},"284":{"tf":1.0},"291":{"tf":5.830951894845301},"293":{"tf":5.744562646538029},"295":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":6.082762530298219},"60":{"tf":1.4142135623730951},"77":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":3.1622776601683795},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":2.0},"77":{"tf":1.4142135623730951},"80":{"tf":1.0},"85":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"y":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"b":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"210":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"251":{"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":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"178":{"tf":2.23606797749979}}},"y":{"[":{"2":{"df":1,"docs":{"178":{"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":{"116":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"286":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"286":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":2.0}}}}},"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":3,"docs":{"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"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":{"96":{"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":{"96":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"96":{"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":{"251":{"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":{"138":{"tf":1.0}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"[":{"0":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"101":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"102":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}},"2":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"df":3,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"%":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"=":{"\\":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":60,"docs":{"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"11":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.7320508075688772},"194":{"tf":2.6457513110645907},"195":{"tf":1.7320508075688772},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":2.449489742783178},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"220":{"tf":2.0},"223":{"tf":1.0},"224":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":2.0},"23":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.0},"255":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"266":{"tf":1.7320508075688772},"267":{"tf":2.449489742783178},"269":{"tf":2.0},"270":{"tf":1.7320508075688772},"272":{"tf":1.7320508075688772},"273":{"tf":2.23606797749979},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":2.449489742783178},"281":{"tf":1.0},"286":{"tf":1.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"83":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{"184":{"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":3,"docs":{"109":{"tf":2.449489742783178},"110":{"tf":1.0},"154":{"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":{"109":{"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":{}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"270":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"220":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":3,"docs":{"170":{"tf":1.7320508075688772},"262":{"tf":1.0},"288":{"tf":2.449489742783178}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"102":{"tf":1.0},"108":{"tf":1.4142135623730951},"139":{"tf":1.0},"153":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"209":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"291":{"tf":1.0},"69":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"209":{"tf":1.0},"274":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":53,"docs":{"103":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"19":{"tf":1.0},"190":{"tf":1.0},"204":{"tf":1.0},"208":{"tf":1.0},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"250":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"279":{"tf":1.0},"281":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"f":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"248":{"tf":1.0}}},"t":{"df":12,"docs":{"130":{"tf":1.0},"131":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":4,"docs":{"209":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"130":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"186":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.4142135623730951},"244":{"tf":1.7320508075688772},"265":{"tf":1.0},"275":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":37,"docs":{"115":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":1.0},"128":{"tf":1.0},"156":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"18":{"tf":1.0},"183":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":2.0},"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},"65":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"38":{"tf":1.0},"42":{"tf":1.0}},"n":{"df":1,"docs":{"262":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":51,"docs":{"110":{"tf":1.0},"120":{"tf":2.23606797749979},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.7320508075688772},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"175":{"tf":1.0},"181":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":1.0},"192":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"229":{"tf":1.0},"243":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"299":{"tf":1.4142135623730951},"301":{"tf":1.0},"72":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"tf":1.7320508075688772}},"u":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":14,"docs":{"110":{"tf":2.8284271247461903},"14":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":2.0},"162":{"tf":2.6457513110645907},"164":{"tf":2.6457513110645907},"165":{"tf":3.3166247903554},"186":{"tf":2.0},"260":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{"296":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}}}}},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":2.6457513110645907}}}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"284":{"tf":3.3166247903554},"295":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":1.7320508075688772}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"129":{"tf":2.23606797749979}}}}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.449489742783178}}}}},"t":{"df":5,"docs":{"129":{"tf":1.0},"161":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.449489742783178}}}},"a":{"df":1,"docs":{"240":{"tf":2.23606797749979}}},"b":{"df":2,"docs":{"239":{"tf":2.0},"240":{"tf":2.0}}},"c":{"df":2,"docs":{"239":{"tf":2.23606797749979},"240":{"tf":2.23606797749979}}},"df":15,"docs":{"110":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.7320508075688772},"231":{"tf":3.3166247903554},"232":{"tf":3.1622776601683795},"233":{"tf":1.4142135623730951},"235":{"tf":2.8284271247461903},"238":{"tf":1.4142135623730951},"239":{"tf":3.1622776601683795},"240":{"tf":3.1622776601683795},"244":{"tf":1.7320508075688772},"246":{"tf":1.0},"248":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"32":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"118":{"tf":1.7320508075688772}}}}},"n":{"df":21,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"110":{"tf":1.0},"137":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"194":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"244":{"tf":1.4142135623730951},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"291":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"75":{"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":{"64":{"tf":1.0}},"e":{"[":{"0":{"df":1,"docs":{"64":{"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":{"64":{"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":2,"docs":{"108":{"tf":1.0},"288":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":2,"docs":{"246":{"tf":1.0},"248":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"281":{"tf":1.0},"288":{"tf":1.7320508075688772}}}},"df":1,"docs":{"170":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"202":{"tf":2.23606797749979},"300":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"o":{"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"279":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":61,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"161":{"tf":1.0},"164":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"214":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.0},"27":{"tf":1.0},"298":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}},"h":{"df":10,"docs":{"128":{"tf":2.23606797749979},"129":{"tf":2.0},"164":{"tf":1.0},"172":{"tf":1.0},"181":{"tf":1.0},"206":{"tf":1.0},"239":{"tf":1.0},"278":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0}}},"i":{"c":{"df":16,"docs":{"156":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.4142135623730951},"194":{"tf":1.0},"195":{"tf":1.0},"215":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"279":{"tf":1.0},"32":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"157":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"252":{"tf":1.0}}}}},"w":{"df":45,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"158":{"tf":1.0},"165":{"tf":2.23606797749979},"171":{"tf":1.0},"180":{"tf":2.0},"184":{"tf":1.7320508075688772},"189":{"tf":1.4142135623730951},"198":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":1.7320508075688772},"209":{"tf":1.0},"210":{"tf":1.0},"219":{"tf":1.4142135623730951},"221":{"tf":1.7320508075688772},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":2.449489742783178},"28":{"tf":1.0},"286":{"tf":1.0},"299":{"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},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"130":{"tf":1.0},"161":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":2.0},"234":{"tf":1.0},"244":{"tf":1.4142135623730951},"266":{"tf":1.0},"291":{"tf":1.0},"45":{"tf":2.0},"63":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}}}},"df":1,"docs":{"206":{"tf":1.7320508075688772}},"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":{"192":{"tf":1.0},"193":{"tf":1.0}}}}},"t":{"df":1,"docs":{"192":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"7":{"df":1,"docs":{"206":{"tf":1.0}}},"8":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"8":{"df":1,"docs":{"206":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"247":{"tf":1.0}}}}}}}},"{":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}}}},"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":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}}},"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":6,"docs":{"142":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":5,"docs":{"131":{"tf":1.0},"134":{"tf":1.0},"168":{"tf":1.0},"199":{"tf":1.0},"272":{"tf":1.0}},"s":{"df":3,"docs":{"169":{"tf":1.0},"201":{"tf":1.0},"242":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"184":{"tf":1.0},"213":{"tf":1.0},"237":{"tf":1.0},"291":{"tf":1.0}},"r":{"df":3,"docs":{"155":{"tf":1.0},"174":{"tf":1.0},"291":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"7":{"df":1,"docs":{"206":{"tf":1.0}}},"8":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"206":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":2,"docs":{"138":{"tf":1.4142135623730951},"87":{"tf":1.0}},"f":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"284":{"tf":1.0},"295":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"235":{"tf":1.4142135623730951},"257":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"66":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"207":{"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":{"155":{"tf":1.0}}}}}}}}},"k":{"df":4,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"272":{"tf":1.0},"299":{"tf":1.0}}},"l":{"d":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"293":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"tf":1.0}},"u":{"df":1,"docs":{"293":{"tf":1.0}}},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"106":{"tf":1.0},"131":{"tf":1.0},"223":{"tf":1.0}}}}},"n":{"c":{"df":15,"docs":{"11":{"tf":1.0},"165":{"tf":1.0},"189":{"tf":1.0},"213":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.4142135623730951},"280":{"tf":1.0},"288":{"tf":1.4142135623730951},"293":{"tf":1.0},"296":{"tf":1.0},"300":{"tf":1.0},"64":{"tf":1.0},"9":{"tf":1.0}}},"df":60,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":1.0},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0},"182":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"232":{"tf":1.0},"234":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"250":{"tf":1.0},"261":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.7320508075688772},"29":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0}},"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":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"[":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"a":{"df":2,"docs":{"138":{"tf":1.0},"154":{"tf":2.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"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":2,"docs":{"291":{"tf":1.4142135623730951},"297":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"c":{"a":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.0},"297":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"168":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":2.0},"138":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"186":{"tf":1.0},"202":{"tf":2.0},"290":{"tf":1.0},"291":{"tf":2.0},"297":{"tf":1.0},"300":{"tf":2.0}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"128":{"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":{"110":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"292":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":5,"docs":{"129":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}}}}}},"r":{"df":4,"docs":{"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"74":{"tf":2.0}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"d":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":8,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"207":{"tf":1.0},"284":{"tf":2.449489742783178},"291":{"tf":1.0},"297":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":7,"docs":{"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"221":{"tf":1.0},"286":{"tf":1.0},"297":{"tf":2.23606797749979}}}}},"t":{"df":9,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"175":{"tf":1.0},"284":{"tf":2.449489742783178},"291":{"tf":2.0},"295":{"tf":1.4142135623730951},"299":{"tf":1.0}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"293":{"tf":3.872983346207417}}}},"df":9,"docs":{"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"110":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"154":{"tf":1.4142135623730951},"160":{"tf":1.0},"75":{"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":{"108":{"tf":1.0}}},"4":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"209":{"tf":1.0}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"205":{"tf":1.0}}}},"u":{"df":2,"docs":{"175":{"tf":1.0},"186":{"tf":1.0}}}},"o":{"df":1,"docs":{"264":{"tf":1.0}},"m":{"df":1,"docs":{"244":{"tf":1.0}}},"p":{"df":2,"docs":{"169":{"tf":1.4142135623730951},"170":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":15,"docs":{"201":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"229":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"271":{"tf":1.0},"284":{"tf":1.0},"286":{"tf":1.4142135623730951},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"301":{"tf":1.0}}}}},"df":2,"docs":{"184":{"tf":1.0},"233":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"172":{"tf":1.0},"209":{"tf":1.0},"277":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"$":{"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.0}}}}},"x":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":23,"docs":{"108":{"tf":1.4142135623730951},"122":{"tf":1.0},"13":{"tf":1.0},"142":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.7320508075688772},"161":{"tf":1.0},"207":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":1.7320508075688772},"244":{"tf":2.23606797749979},"245":{"tf":1.0},"247":{"tf":1.0},"291":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"76":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"93":{"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":{"230":{"tf":1.0}}}}}},"s":{"df":1,"docs":{"169":{"tf":1.4142135623730951}}}}},"t":{"df":10,"docs":{"102":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"174":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"242":{"tf":1.0},"261":{"tf":1.0},"274":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":7,"docs":{"182":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.7320508075688772},"213":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"3":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":13,"docs":{"106":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"20":{"tf":1.0},"204":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":1.0},"268":{"tf":1.0},"279":{"tf":1.0},"293":{"tf":1.0},"39":{"tf":1.0},"77":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.4142135623730951},"149":{"tf":1.0},"180":{"tf":1.0},"194":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"230":{"tf":2.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.0},"254":{"tf":1.4142135623730951},"264":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":2.23606797749979},"291":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":4,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"264":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.4142135623730951},"278":{"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":{"180":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":10,"docs":{"109":{"tf":1.0},"149":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":2.8284271247461903},"181":{"tf":2.449489742783178},"183":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"229":{"tf":1.0},"293":{"tf":1.7320508075688772}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"230":{"tf":1.0},"272":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":7,"docs":{"134":{"tf":1.0},"188":{"tf":1.0},"208":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"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":{"150":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"209":{"tf":1.0},"247":{"tf":1.0}}}}},"df":42,"docs":{"101":{"tf":1.7320508075688772},"110":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":2.23606797749979},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"189":{"tf":1.7320508075688772},"199":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.4142135623730951},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"258":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":2.0},"267":{"tf":2.0},"269":{"tf":1.7320508075688772},"270":{"tf":2.0},"271":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":2.0},"280":{"tf":1.0},"282":{"tf":1.0},"288":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":2.0},"180":{"tf":1.0},"183":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"198":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":112,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"248":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"279":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"68":{"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},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"142":{"tf":1.0},"147":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"223":{"tf":1.0},"233":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"271":{"tf":1.0},"281":{"tf":1.4142135623730951},"286":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"\"":{"/":{"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"241":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"184":{"tf":1.0},"200":{"tf":1.0},"227":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"68":{"tf":1.0}}}},"df":61,"docs":{"108":{"tf":1.4142135623730951},"127":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"186":{"tf":1.4142135623730951},"194":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"226":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.4142135623730951},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"114":{"tf":1.0},"160":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"205":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"264":{"tf":1.0}}},"o":{"a":{"d":{"df":2,"docs":{"167":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"279":{"tf":1.0}}}}},"df":2,"docs":{"170":{"tf":1.7320508075688772},"279":{"tf":2.6457513110645907}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"116":{"tf":1.0},"124":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"222":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}}}}},"p":{">":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"17":{"tf":1.0},"195":{"tf":1.0},"21":{"tf":1.0},"225":{"tf":2.0},"226":{"tf":2.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":1,"docs":{"300":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"263":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"189":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"i":{"c":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"102":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"79":{"tf":1.0},"90":{"tf":1.0}},"k":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":2,"docs":{"169":{"tf":1.0},"273":{"tf":1.0}}}}}},"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":{"231":{"tf":1.0}}}}}}}},"m":{"(":{"df":1,"docs":{"156":{"tf":1.0}}},"df":7,"docs":{"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"156":{"tf":1.0},"161":{"tf":1.7320508075688772},"162":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"139":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.4142135623730951},"271":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"181":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":8,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":2.23606797749979},"220":{"tf":2.0},"255":{"tf":1.0},"257":{"tf":2.6457513110645907},"258":{"tf":1.4142135623730951}},"e":{"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":{"283":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"299":{"tf":1.0}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"257":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":3,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"257":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"290":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":1,"docs":{"292":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"257":{"tf":1.7320508075688772}}}}},"t":{"df":4,"docs":{"189":{"tf":1.0},"299":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"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":{"130":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":24,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"186":{"tf":1.0},"198":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"226":{"tf":1.4142135623730951},"227":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"259":{"tf":1.0},"275":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"131":{"tf":1.0},"166":{"tf":1.0},"209":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"215":{"tf":1.0},"252":{"tf":1.0}},"t":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":28,"docs":{"116":{"tf":1.0},"124":{"tf":1.0},"139":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"160":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"189":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.7320508075688772},"218":{"tf":1.4142135623730951},"219":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.7320508075688772},"255":{"tf":1.0},"260":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"2":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"34":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"196":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"196":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":6,"docs":{"1":{"tf":1.0},"153":{"tf":1.0},"169":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"215":{"tf":1.0}}},"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"297":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":25,"docs":{"107":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"215":{"tf":1.0},"233":{"tf":1.0},"244":{"tf":1.4142135623730951},"259":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"280":{"tf":1.0},"297":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.7320508075688772},"69":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":9,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":3,"docs":{"145":{"tf":1.0},"207":{"tf":2.449489742783178},"279":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"65":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"230":{"tf":1.0},"274":{"tf":1.0}}}}},"r":{"df":1,"docs":{"231":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":16,"docs":{"109":{"tf":1.0},"160":{"tf":1.4142135623730951},"173":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":2.23606797749979},"183":{"tf":1.0},"184":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"252":{"tf":1.0},"257":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"201":{"tf":1.0},"208":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"242":{"tf":1.0},"288":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"224":{"tf":1.0},"70":{"tf":2.449489742783178}}}},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"279":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":2.0}}}}}},".":{"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":{"207":{"tf":1.4142135623730951}}}}},"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":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"\"":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":1.7320508075688772}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"207":{"tf":2.449489742783178},"209":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"221":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"186":{"tf":1.0},"260":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"169":{"tf":1.4142135623730951}},"i":{"df":2,"docs":{"211":{"tf":1.0},"239":{"tf":1.0}}}}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"17":{"tf":1.0},"194":{"tf":1.0},"244":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"[":{"1":{"df":1,"docs":{"177":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":1,"docs":{"177":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"177":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"183":{"tf":1.0},"187":{"tf":1.0},"195":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":3.1622776601683795}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"64":{"tf":1.0},"65":{"tf":2.449489742783178}},"e":{"'":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":18,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"243":{"tf":1.0},"281":{"tf":1.0},"29":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":19,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":9,"docs":{"178":{"tf":1.0},"198":{"tf":1.0},"220":{"tf":1.0},"243":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":2.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"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":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"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":{},"n":{"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":{"279":{"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"279":{"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":{}}}}}},"y":{"df":2,"docs":{"221":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"173":{"tf":1.0}}},"df":2,"docs":{"173":{"tf":1.0},"71":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"258":{"tf":1.0},"282":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"155":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"108":{"tf":1.0},"128":{"tf":1.0},"164":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"229":{"tf":1.4142135623730951},"232":{"tf":1.0},"252":{"tf":1.0},"264":{"tf":1.0},"280":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"173":{"tf":1.0},"184":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":1.0},"270":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":2.6457513110645907},"212":{"tf":1.7320508075688772},"213":{"tf":1.7320508075688772},"221":{"tf":1.0},"257":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"230":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"139":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":2.6457513110645907},"90":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":45,"docs":{"109":{"tf":1.0},"113":{"tf":1.0},"127":{"tf":1.7320508075688772},"134":{"tf":1.0},"140":{"tf":1.0},"151":{"tf":1.4142135623730951},"165":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"247":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":15,"docs":{"151":{"tf":1.0},"153":{"tf":1.4142135623730951},"172":{"tf":1.0},"187":{"tf":1.7320508075688772},"201":{"tf":1.0},"209":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.4142135623730951},"278":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":21,"docs":{"114":{"tf":1.0},"119":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.0},"172":{"tf":1.0},"219":{"tf":1.0},"222":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"237":{"tf":1.0},"244":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"275":{"tf":1.0},"280":{"tf":1.0},"39":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":8,"docs":{"152":{"tf":1.0},"161":{"tf":1.0},"242":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"139":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"d":{"(":{"a":{"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"248":{"tf":1.0}}}},"df":5,"docs":{"156":{"tf":1.0},"247":{"tf":2.23606797749979},"248":{"tf":1.7320508075688772},"289":{"tf":1.0},"291":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"284":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":3,"docs":{"104":{"tf":1.0},"254":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"206":{"tf":1.0},"274":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"x":{"df":3,"docs":{"220":{"tf":1.0},"270":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"235":{"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":9,"docs":{"125":{"tf":1.4142135623730951},"131":{"tf":1.0},"17":{"tf":1.0},"228":{"tf":1.0},"267":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.7320508075688772},"298":{"tf":2.0},"95":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"110":{"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":{"193":{"tf":1.0},"195":{"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":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"171":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"193":{"tf":1.0}},"o":{"df":0,"docs":{},"o":{"(":{"1":{"2":{"3":{"4":{"df":1,"docs":{"171":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"192":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"171":{"tf":1.0},"172":{"tf":1.0},"194":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"2":{"3":{"4":{"df":1,"docs":{"172":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"v":{"df":1,"docs":{"64":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"124":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.7320508075688772},"165":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"240":{"tf":1.0},"242":{"tf":1.0},"246":{"tf":1.0},"269":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":20,"docs":{"153":{"tf":1.0},"158":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"187":{"tf":1.0},"198":{"tf":1.0},"228":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.0},"293":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"80":{"tf":1.0},"91":{"tf":1.0}},"s":{"df":5,"docs":{"196":{"tf":1.0},"207":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"293":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"124":{"tf":1.0},"211":{"tf":1.0},"237":{"tf":1.0},"65":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"180":{"tf":1.0},"36":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"119":{"tf":1.0},"45":{"tf":2.23606797749979}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"\"":{"(":{"1":{"df":1,"docs":{"73":{"tf":2.0}}},"_":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"187":{"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":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"180":{"tf":1.0},"84":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"72":{"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":{"178":{"tf":1.0},"180":{"tf":1.0},"84":{"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":{"184":{"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":{"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}},"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":{"69":{"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":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"180":{"tf":1.0}}},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"215":{"tf":1.0}}}}},"f":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}},"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":{},"o":{"(":{"\\":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"75":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"108":{"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":{"184":{"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":4,"docs":{"219":{"tf":1.0},"263":{"tf":1.0},"29":{"tf":1.0},"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"149":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"152":{"tf":1.7320508075688772},"162":{"tf":1.0}}}}},"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":{"108":{"tf":1.0}}}}}}}}}},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"71":{"tf":1.0},"96":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}}}},"y":{"df":1,"docs":{"58":{"tf":1.0}}}}},"l":{"1":{"df":1,"docs":{"187":{"tf":1.0}}},"2":{"df":1,"docs":{"187":{"tf":1.7320508075688772}}},"df":1,"docs":{"178":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"212":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"184":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"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":{"180":{"tf":1.4142135623730951},"181":{"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":{"70":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.7320508075688772}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"172":{"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":{},"r":{"df":0,"docs":{},"v":{"df":4,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}},"{":{"df":1,"docs":{"142":{"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":{"109":{"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":{"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"k":{"df":2,"docs":{"97":{"tf":1.0},"98":{"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":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"1":{"0":{"df":2,"docs":{"94":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"94":{"tf":1.0}}},"a":{"d":{"d":{"(":{"1":{"0":{"df":1,"docs":{"141":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"139":{"tf":1.0}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"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":{}}}},"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":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"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":{"150":{"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":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"179":{"tf":1.4142135623730951},"183":{"tf":1.0},"186":{"tf":1.0}}}}}},"df":8,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0}},"f":{"df":2,"docs":{"121":{"tf":1.0},"122":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}}},"i":{"1":{"df":1,"docs":{"117":{"tf":1.0}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"3":{"df":1,"docs":{"117":{"tf":1.0}}},"df":3,"docs":{"52":{"tf":1.0},"53":{"tf":1.0},"54":{"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":{"80":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"[":{"0":{"df":1,"docs":{"88":{"tf":1.0}}},"1":{"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}},"6":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"281":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"87":{"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":{"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"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":{"146":{"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":{"99":{"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":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"127":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"228":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"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":{"150":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"103":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.4142135623730951}},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}},"x":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":2,"docs":{"104":{"tf":1.0},"106":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":{"158":{"tf":1.0}}}}}}}},"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":{}},"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":{"179":{"tf":1.4142135623730951},"183":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"207":{"tf":2.449489742783178}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"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":2,"docs":{"164":{"tf":1.4142135623730951},"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":{}}},"df":1,"docs":{"248":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"168":{"tf":1.0}},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":{"158":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"155":{"tf":1.0}}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"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":{"124":{"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":{"124":{"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":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"115":{"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":{"155":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"129":{"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":{"177":{"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":{"175":{"tf":1.0}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"139":{"tf":1.0},"145":{"tf":1.0}}}},"df":11,"docs":{"110":{"tf":1.4142135623730951},"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"193":{"tf":1.0},"212":{"tf":1.0},"27":{"tf":1.4142135623730951},"272":{"tf":1.0},"34":{"tf":1.4142135623730951},"51":{"tf":1.0},"64":{"tf":1.0},"83":{"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":{"72":{"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":{"72":{"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":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"2":{"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":{}}}}},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"112":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.7320508075688772},"276":{"tf":1.4142135623730951},"277":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"75":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"274":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.0}},"y":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"295":{"tf":1.0}}}}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":1,"docs":{"295":{"tf":1.0}},"t":{"df":1,"docs":{"295":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}}}}}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"170":{"tf":1.7320508075688772},"195":{"tf":1.0},"223":{"tf":2.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"161":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}},"df":12,"docs":{"124":{"tf":1.0},"126":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0},"64":{"tf":1.0},"73":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":65,"docs":{"127":{"tf":1.4142135623730951},"134":{"tf":2.0},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":2.0},"156":{"tf":1.7320508075688772},"159":{"tf":1.7320508075688772},"160":{"tf":2.23606797749979},"162":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"167":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":2.23606797749979},"177":{"tf":2.23606797749979},"188":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":3.0},"206":{"tf":2.0},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"221":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":2.0},"232":{"tf":2.0},"233":{"tf":2.6457513110645907},"235":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":2.6457513110645907},"240":{"tf":1.7320508075688772},"243":{"tf":1.0},"244":{"tf":2.0},"245":{"tf":1.4142135623730951},"246":{"tf":2.449489742783178},"247":{"tf":1.7320508075688772},"248":{"tf":2.8284271247461903},"249":{"tf":2.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.7320508075688772},"48":{"tf":1.0},"65":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"139":{"tf":1.0},"156":{"tf":1.0},"176":{"tf":1.0},"244":{"tf":1.0}}},"(":{"df":1,"docs":{"199":{"tf":1.0}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"228":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"10":{"tf":1.0},"189":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.0},"293":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"219":{"tf":1.0}},"u":{"c":{"df":7,"docs":{"164":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.4142135623730951},"272":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0},"80":{"tf":1.0}},"t":{"df":2,"docs":{"244":{"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":{"231":{"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":{"231":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":4,"docs":{"219":{"tf":1.0},"220":{"tf":1.0},"260":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":79,"docs":{"101":{"tf":1.0},"107":{"tf":1.4142135623730951},"11":{"tf":1.0},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"15":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"173":{"tf":1.0},"189":{"tf":1.7320508075688772},"190":{"tf":1.4142135623730951},"194":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"199":{"tf":1.0},"200":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.0},"217":{"tf":2.0},"218":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"222":{"tf":1.4142135623730951},"23":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":2.8284271247461903},"257":{"tf":1.0},"259":{"tf":1.4142135623730951},"26":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":3.0},"264":{"tf":2.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"300":{"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.4142135623730951},"50":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"221":{"tf":1.0},"229":{"tf":1.0},"259":{"tf":1.0}}}},"df":11,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"247":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"159":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":1.4142135623730951},"248":{"tf":1.0},"249":{"tf":1.0},"274":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":20,"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},"190":{"tf":1.0},"21":{"tf":1.0},"215":{"tf":1.0},"227":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"270":{"tf":1.4142135623730951},"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":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"226":{"tf":1.0},"227":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"254":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"107":{"tf":1.0},"116":{"tf":1.0},"209":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"280":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"i":{"d":{"df":73,"docs":{"1":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"152":{"tf":1.7320508075688772},"154":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"203":{"tf":1.4142135623730951},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":2.449489742783178},"212":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":1.7320508075688772},"215":{"tf":1.7320508075688772},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"222":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"236":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.4142135623730951},"288":{"tf":2.23606797749979},"291":{"tf":1.0},"293":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.4142135623730951},"297":{"tf":1.0},"298":{"tf":1.7320508075688772},"3":{"tf":1.0},"301":{"tf":1.0},"39":{"tf":1.0},"48":{"tf":1.7320508075688772},"76":{"tf":1.0},"82":{"tf":1.0},"86":{"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":{"235":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}}}},"t":{"df":1,"docs":{"288":{"tf":1.0}}},"v":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"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":{"203":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"222":{"tf":1.0}}}}}}},"df":6,"docs":{"170":{"tf":3.0},"172":{"tf":1.4142135623730951},"194":{"tf":1.0},"221":{"tf":1.4142135623730951},"227":{"tf":1.7320508075688772},"228":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"192":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"12":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.4142135623730951},"243":{"tf":1.0},"271":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":13,"docs":{"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"122":{"tf":1.0},"140":{"tf":1.0},"166":{"tf":1.0},"205":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"82":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"220":{"tf":1.0}}}},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":6,"docs":{"156":{"tf":1.4142135623730951},"186":{"tf":1.0},"226":{"tf":1.0},"232":{"tf":1.0},"263":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"76":{"tf":1.0}}},"df":10,"docs":{"131":{"tf":1.0},"147":{"tf":1.0},"198":{"tf":1.0},"263":{"tf":1.4142135623730951},"268":{"tf":1.0},"50":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.0},"87":{"tf":1.4142135623730951},"94":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"80":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"235":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"244":{"tf":1.0}},"e":{"df":1,"docs":{"284":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"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":{"177":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":12,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"211":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":2.449489742783178},"239":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"288":{"tf":1.0},"3":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"189":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"m":{"df":1,"docs":{"244":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"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":{"(":{"0":{"df":1,"docs":{"153":{"tf":1.0}}},"1":{"df":5,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.0}}},"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":{"137":{"tf":1.0},"139":{"tf":1.0},"177":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"153":{"tf":1.4142135623730951},"186":{"tf":1.0},"51":{"tf":1.4142135623730951}}}}}},"df":7,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.4142135623730951},"48":{"tf":1.0},"60":{"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":2,"docs":{"153":{"tf":1.0},"186":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"$":{"<":{"c":{"df":2,"docs":{"164":{"tf":1.0},"165":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"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":{"162":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":3,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"<":{"c":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"296":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}},"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":{"296":{"tf":2.8284271247461903}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"212":{"tf":1.0}},"g":{"df":4,"docs":{"101":{"tf":1.0},"222":{"tf":1.0},"258":{"tf":1.0},"280":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"226":{"tf":1.0}}}},"w":{"df":3,"docs":{"205":{"tf":1.4142135623730951},"206":{"tf":1.0},"234":{"tf":1.0}},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"299":{"tf":1.0}}}}}}}},"df":10,"docs":{"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":2.6457513110645907},"51":{"tf":2.8284271247461903},"60":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"244":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"df":8,"docs":{"109":{"tf":1.0},"154":{"tf":1.0},"185":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"258":{"tf":1.0},"282":{"tf":1.0},"7":{"tf":1.0}}}},"d":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"286":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"232":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":35,"docs":{"142":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"189":{"tf":1.7320508075688772},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.7320508075688772},"222":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"241":{"tf":1.0},"247":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"286":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"77":{"tf":1.4142135623730951},"80":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"131":{"tf":1.0},"93":{"tf":1.0}}}},"i":{"df":6,"docs":{"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":1.7320508075688772},"244":{"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"286":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"162":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"215":{"tf":1.0},"232":{"tf":1.0}}}},"z":{"df":2,"docs":{"147":{"tf":1.0},"155":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"156":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":1.0},"233":{"tf":1.0},"245":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.4142135623730951},"288":{"tf":1.0},"48":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"165":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.4142135623730951},"274":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":7,"docs":{"160":{"tf":1.0},"206":{"tf":1.0},"233":{"tf":1.4142135623730951},"238":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"10":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"224":{"tf":1.0},"247":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}},"r":{"d":{"df":10,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.4142135623730951},"293":{"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":{"249":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"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":{"72":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"130":{"tf":2.8284271247461903},"186":{"tf":2.8284271247461903},"187":{"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":{"231":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"51":{"tf":1.0},"74":{"tf":2.0}},"u":{"c":{"df":3,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"155":{"tf":1.4142135623730951}},"e":{"(":{"[":{"1":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"a":{"df":2,"docs":{"155":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":9,"docs":{"114":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":1.0},"297":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"272":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":34,"docs":{"110":{"tf":1.0},"117":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.0},"146":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"16":{"tf":1.0},"161":{"tf":1.0},"17":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":3.0},"19":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"219":{"tf":1.4142135623730951},"23":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"266":{"tf":1.0},"273":{"tf":1.4142135623730951},"291":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":14,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"183":{"tf":1.0},"211":{"tf":1.4142135623730951},"215":{"tf":1.0},"25":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"131":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"162":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"230":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"300":{"tf":2.23606797749979}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.0}}}},"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":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"220":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"174":{"tf":1.0},"231":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"205":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"108":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.4142135623730951},"159":{"tf":1.0},"173":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.23606797749979},"214":{"tf":1.0},"220":{"tf":1.0},"74":{"tf":1.0}},"e":{"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"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":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"149":{"tf":1.0},"17":{"tf":1.0},"222":{"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":8,"docs":{"107":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"231":{"tf":1.0},"264":{"tf":1.0}}}}}}}}}}},"df":6,"docs":{"257":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":9,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"194":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"260":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"110":{"tf":1.0},"158":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0}}},"o":{"a":{"d":{"df":1,"docs":{"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"154":{"tf":1.0},"230":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0}}}},"p":{"df":1,"docs":{"293":{"tf":1.0}},"p":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"226":{"tf":1.0},"239":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"272":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"269":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}},"v":{"df":4,"docs":{"262":{"tf":1.0},"291":{"tf":3.0},"293":{"tf":3.0},"298":{"tf":2.8284271247461903}},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":3.0}}}}}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"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":{},"f":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"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":{}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":2.0}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}},"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":{"110":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"110":{"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":{"235":{"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":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"299":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"125":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"184":{"tf":1.0},"269":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"63":{"tf":4.242640687119285}},"e":{"d":{"(":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"272":{"tf":1.0}}}}}},"l":{"a":{"c":{"df":6,"docs":{"261":{"tf":1.0},"262":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.449489742783178},"300":{"tf":1.7320508075688772},"66":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":19,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":46,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"147":{"tf":1.0},"152":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"25":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":2.449489742783178},"209":{"tf":3.1622776601683795},"286":{"tf":1.0},"301":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"q":{"df":2,"docs":{"209":{"tf":1.0},"221":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"176":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.4142135623730951},"221":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":2.0},"244":{"tf":3.0},"254":{"tf":1.0},"255":{"tf":2.6457513110645907},"256":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":40,"docs":{"10":{"tf":1.0},"102":{"tf":1.7320508075688772},"115":{"tf":1.0},"119":{"tf":1.0},"127":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"137":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":2.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.0},"160":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"204":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"255":{"tf":1.0},"266":{"tf":1.0},"271":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"83":{"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":{"177":{"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":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"272":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.0},"169":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"221":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}},"v":{"df":7,"docs":{"177":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"21":{"tf":1.0},"244":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"171":{"tf":1.0},"173":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":14,"docs":{"189":{"tf":2.8284271247461903},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"25":{"tf":1.7320508075688772},"257":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.0},"27":{"tf":1.0},"286":{"tf":2.23606797749979},"30":{"tf":1.0},"37":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}}}}}}}},"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}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":4,"docs":{"221":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0}},"e":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"231":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":19,"docs":{"103":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.4142135623730951},"150":{"tf":1.0},"156":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"188":{"tf":1.7320508075688772},"209":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":2.23606797749979},"243":{"tf":1.7320508075688772},"249":{"tf":1.0},"251":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":27,"docs":{"131":{"tf":1.0},"154":{"tf":2.0},"156":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0},"182":{"tf":1.0},"196":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.0},"240":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"249":{"tf":1.0},"255":{"tf":1.0},"264":{"tf":1.0},"288":{"tf":2.23606797749979},"291":{"tf":2.6457513110645907},"293":{"tf":1.7320508075688772},"298":{"tf":2.449489742783178},"299":{"tf":1.0},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":66,"docs":{"110":{"tf":1.4142135623730951},"115":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"138":{"tf":2.449489742783178},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":2.6457513110645907},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"158":{"tf":1.4142135623730951},"161":{"tf":2.23606797749979},"162":{"tf":2.449489742783178},"163":{"tf":1.7320508075688772},"164":{"tf":3.0},"165":{"tf":3.605551275463989},"166":{"tf":1.0},"168":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"175":{"tf":2.6457513110645907},"176":{"tf":2.0},"177":{"tf":2.23606797749979},"180":{"tf":1.7320508075688772},"184":{"tf":1.0},"186":{"tf":2.449489742783178},"188":{"tf":1.0},"193":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"219":{"tf":2.0},"221":{"tf":1.4142135623730951},"235":{"tf":2.0},"242":{"tf":1.0},"244":{"tf":1.4142135623730951},"245":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"288":{"tf":4.123105625617661},"291":{"tf":4.242640687119285},"293":{"tf":6.082762530298219},"298":{"tf":4.0},"35":{"tf":1.0},"48":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772},"90":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"190":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"271":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"140":{"tf":1.0},"158":{"tf":1.4142135623730951},"196":{"tf":1.0},"242":{"tf":1.0},"247":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.7320508075688772},"274":{"tf":1.0},"6":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"269":{"tf":1.0}}}}}}}}}},"h":{"df":7,"docs":{"134":{"tf":1.4142135623730951},"135":{"tf":2.0},"145":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.7320508075688772},"192":{"tf":1.4142135623730951},"193":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":10,"docs":{"128":{"tf":2.8284271247461903},"129":{"tf":2.6457513110645907},"130":{"tf":1.0},"154":{"tf":1.0},"179":{"tf":2.23606797749979},"2":{"tf":1.0},"204":{"tf":1.0},"252":{"tf":1.0},"268":{"tf":1.0},"291":{"tf":1.4142135623730951}}}},"i":{"d":{"df":1,"docs":{"277":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"208":{"tf":1.0},"226":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"153":{"tf":2.0},"51":{"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":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"280":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":13,"docs":{"128":{"tf":1.0},"16":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"235":{"tf":1.4142135623730951},"239":{"tf":1.0},"24":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.4142135623730951},"25":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"n":{"d":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"82":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"167":{"tf":1.0},"255":{"tf":1.0},"65":{"tf":1.0}}}},"w":{"df":2,"docs":{"126":{"tf":1.0},"83":{"tf":2.6457513110645907}}}},"p":{"c":{"df":2,"docs":{"221":{"tf":1.0},"235":{"tf":1.0}}},"df":0,"docs":{}},"u":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":11,"docs":{"18":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"93":{"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":33,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"147":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.4142135623730951},"196":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"217":{"tf":2.0},"22":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":2.23606797749979},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"235":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":2.0},"255":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"288":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"50":{"tf":1.0},"65":{"tf":1.0},"81":{"tf":1.0},"9":{"tf":1.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":29,"docs":{"102":{"tf":2.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"137":{"tf":1.7320508075688772},"160":{"tf":1.7320508075688772},"167":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"175":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.0},"189":{"tf":1.0},"2":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"261":{"tf":1.0},"291":{"tf":1.4142135623730951},"300":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"242":{"tf":1.0},"247":{"tf":1.0},"248":{"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":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"151":{"tf":1.0}}}}}},"s":{"/":{"\\":{"\"":{"/":{"\\":{"\\":{"\\":{"\\":{"\\":{"\"":{"/":{"df":0,"docs":{},"g":{"df":1,"docs":{"262":{"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":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":15,"docs":{"137":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.7320508075688772},"243":{"tf":1.7320508075688772},"244":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"297":{"tf":1.0},"300":{"tf":1.0},"90":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}},"r":{"df":4,"docs":{"101":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"177":{"tf":1.0}}},"2":{"df":1,"docs":{"175":{"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":1,"docs":{"175":{"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":{"175":{"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":{"175":{"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":{"175":{"tf":1.7320508075688772},"177":{"tf":1.0}}}}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"239":{"tf":1.0},"243":{"tf":1.0},"86":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":7,"docs":{"131":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.4142135623730951},"185":{"tf":1.0},"199":{"tf":1.0},"279":{"tf":1.0},"48":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":42,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"157":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"183":{"tf":1.0},"187":{"tf":1.7320508075688772},"201":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"279":{"tf":1.0},"288":{"tf":1.7320508075688772},"291":{"tf":1.0},"34":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"87":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"h":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":7,"docs":{"173":{"tf":1.0},"193":{"tf":1.4142135623730951},"206":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.0}}}}}}},"w":{"df":1,"docs":{"274":{"tf":1.0}}},"y":{"df":1,"docs":{"156":{"tf":1.0}}}},"b":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}},"df":2,"docs":{"110":{"tf":2.23606797749979},"170":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"=":{"1":{".":{"0":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"244":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"297":{"tf":5.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":{"75":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":8,"docs":{"211":{"tf":1.0},"231":{"tf":2.23606797749979},"233":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":2.0},"255":{"tf":1.0},"288":{"tf":1.7320508075688772},"3":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"257":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"102":{"tf":1.0},"112":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":2.0},"214":{"tf":1.4142135623730951},"250":{"tf":1.0},"69":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"262":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"32":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":14,"docs":{"155":{"tf":1.0},"243":{"tf":1.0},"27":{"tf":1.0},"300":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"51":{"tf":3.3166247903554},"52":{"tf":2.449489742783178},"60":{"tf":2.0},"65":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.4142135623730951},"184":{"tf":2.23606797749979},"291":{"tf":2.449489742783178},"298":{"tf":2.449489742783178}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"229":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":39,"docs":{"110":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"198":{"tf":1.4142135623730951},"201":{"tf":1.0},"228":{"tf":1.4142135623730951},"236":{"tf":1.0},"241":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"271":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.7320508075688772},"277":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":1.7320508075688772},"28":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":28,"docs":{"101":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":2.0},"184":{"tf":1.0},"19":{"tf":1.0},"194":{"tf":1.0},"20":{"tf":1.0},"229":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"255":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951},"284":{"tf":1.0},"291":{"tf":1.0},"296":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"m":{"df":6,"docs":{"150":{"tf":1.0},"172":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"215":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"210":{"tf":1.0}}}}}}}},"n":{"df":10,"docs":{"131":{"tf":1.0},"156":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"198":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"275":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":7,"docs":{"115":{"tf":1.0},"128":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.0},"151":{"tf":1.0},"33":{"tf":1.0},"93":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":14,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"150":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"73":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":4,"docs":{"209":{"tf":1.0},"221":{"tf":1.7320508075688772},"235":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":6,"docs":{"150":{"tf":1.0},"184":{"tf":1.0},"230":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"209":{"tf":1.4142135623730951}}}}},"t":{"df":1,"docs":{"221":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":10,"docs":{"165":{"tf":1.0},"198":{"tf":1.7320508075688772},"228":{"tf":1.0},"25":{"tf":1.0},"261":{"tf":1.0},"270":{"tf":1.0},"288":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"189":{"tf":1.0},"263":{"tf":1.4142135623730951},"45":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"234":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":3,"docs":{"255":{"tf":1.0},"261":{"tf":1.0},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"213":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"257":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"213":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951}}}}}}}},"df":11,"docs":{"210":{"tf":2.449489742783178},"212":{"tf":2.0},"213":{"tf":1.4142135623730951},"221":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":2.449489742783178},"252":{"tf":2.8284271247461903},"254":{"tf":2.0},"255":{"tf":1.0},"256":{"tf":2.6457513110645907},"257":{"tf":1.7320508075688772}}}},"i":{"c":{"df":12,"docs":{"215":{"tf":1.4142135623730951},"221":{"tf":2.449489742783178},"230":{"tf":1.0},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":2.0},"253":{"tf":1.7320508075688772},"254":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951}},"e":{"'":{"df":2,"docs":{"255":{"tf":1.0},"261":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":31,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"191":{"tf":1.0},"194":{"tf":1.0},"215":{"tf":1.4142135623730951},"216":{"tf":1.4142135623730951},"219":{"tf":1.4142135623730951},"224":{"tf":1.0},"228":{"tf":1.0},"242":{"tf":1.0},"252":{"tf":1.0},"276":{"tf":1.0},"28":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":3.7416573867739413},"298":{"tf":6.6332495807108},"45":{"tf":1.0},"57":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.0},"82":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":2.0},"95":{"tf":2.8284271247461903}},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":1,"docs":{"95":{"tf":1.0}}},"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"11":{"tf":1.0},"266":{"tf":1.0},"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"187":{"tf":1.7320508075688772},"202":{"tf":1.0},"45":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"149":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":18,"docs":{"140":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":2.8284271247461903},"211":{"tf":1.0},"221":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.7320508075688772},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"266":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":2.23606797749979},"276":{"tf":1.0},"277":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"p":{"df":1,"docs":{"173":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"117":{"tf":1.0},"203":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"274":{"tf":1.4142135623730951},"33":{"tf":1.0},"93":{"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":{"142":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"142":{"tf":1.0}}},"df":2,"docs":{"231":{"tf":2.23606797749979},"45":{"tf":1.0}},"n":{"df":2,"docs":{"115":{"tf":1.0},"156":{"tf":1.0}}},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"142":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"153":{"tf":1.0},"256":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":22,"docs":{"127":{"tf":1.0},"134":{"tf":1.4142135623730951},"135":{"tf":1.0},"151":{"tf":1.4142135623730951},"156":{"tf":2.449489742783178},"159":{"tf":1.0},"167":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":2.6457513110645907},"210":{"tf":1.0},"247":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"36":{"tf":1.0},"91":{"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":3,"docs":{"231":{"tf":1.0},"252":{"tf":1.0},"77":{"tf":1.0}}}}}}},"df":9,"docs":{"182":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.7320508075688772},"230":{"tf":1.0},"259":{"tf":1.0},"268":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"104":{"tf":1.0},"157":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"189":{"tf":1.0},"279":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":31,"docs":{"1":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"118":{"tf":1.0},"128":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"232":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.4142135623730951},"29":{"tf":1.0},"299":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"172":{"tf":1.0},"189":{"tf":1.0},"293":{"tf":1.0},"80":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}}}}},"i":{"df":44,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.7320508075688772},"249":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":2.0},"266":{"tf":1.0},"274":{"tf":1.0},"278":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"93":{"tf":1.0}},"f":{"df":1,"docs":{"160":{"tf":1.0}},"i":{"df":4,"docs":{"157":{"tf":1.0},"48":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"180":{"tf":1.0},"201":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":44,"docs":{"129":{"tf":1.0},"140":{"tf":1.4142135623730951},"150":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"170":{"tf":1.4142135623730951},"187":{"tf":2.0},"193":{"tf":1.0},"2":{"tf":1.0},"212":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"214":{"tf":1.0}}}}}}}},"k":{"df":1,"docs":{"65":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"261":{"tf":1.0},"263":{"tf":1.0}}},"df":3,"docs":{"156":{"tf":1.0},"175":{"tf":1.0},"263":{"tf":2.23606797749979}}},"u":{"a":{"df":0,"docs":{},"t":{"df":16,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":2.0},"138":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"225":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"75":{"tf":2.0}}},"z":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":7,"docs":{"100":{"tf":1.0},"199":{"tf":1.0},"209":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"6":{"tf":1.0},"80":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"68":{"tf":2.0}}}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":6,"docs":{"169":{"tf":1.0},"196":{"tf":1.0},"215":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"83":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"172":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"102":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"173":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"137":{"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":{"263":{"tf":1.0}}},"df":2,"docs":{"131":{"tf":1.0},"263":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"161":{"tf":1.0},"178":{"tf":1.0},"215":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"122":{"tf":1.0},"167":{"tf":1.0},"93":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"17":{"tf":1.0}}}},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"226":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"224":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{"_":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"_":{"_":{"df":1,"docs":{"225":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"_":{"df":1,"docs":{"226":{"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":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"229":{"tf":1.0}}}},"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"240":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"133":{"tf":1.0},"140":{"tf":1.0},"188":{"tf":1.0},"220":{"tf":1.0},"267":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"222":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":22,"docs":{"107":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"174":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"242":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"32":{"tf":1.0},"65":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"111":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"172":{"tf":1.0},"203":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"265":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"233":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"226":{"tf":1.0},"288":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"259":{"tf":1.0},"275":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":15,"docs":{"107":{"tf":1.4142135623730951},"115":{"tf":1.0},"137":{"tf":1.0},"163":{"tf":1.0},"184":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.4142135623730951},"252":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":28,"docs":{"11":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"173":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"193":{"tf":1.7320508075688772},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"228":{"tf":1.4142135623730951},"260":{"tf":2.23606797749979},"261":{"tf":2.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"153":{"tf":1.0},"163":{"tf":1.0},"277":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"173":{"tf":2.0}}}}}}}},"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}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"226":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"119":{"tf":1.0},"127":{"tf":1.0},"160":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"186":{"tf":1.0},"215":{"tf":1.0},"25":{"tf":1.0},"266":{"tf":1.0},"278":{"tf":1.0},"49":{"tf":1.0},"69":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"235":{"tf":2.0}}}}}}},"df":0,"docs":{},"f":{"df":22,"docs":{"125":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"164":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"183":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"224":{"tf":1.7320508075688772},"231":{"tf":1.0},"25":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"80":{"tf":1.0}},"i":{"df":13,"docs":{"156":{"tf":1.4142135623730951},"173":{"tf":1.0},"204":{"tf":1.0},"215":{"tf":1.0},"263":{"tf":2.0},"291":{"tf":4.358898943540674},"293":{"tf":4.69041575982343},"298":{"tf":2.8284271247461903},"72":{"tf":1.0},"8":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"115":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}},"n":{"d":{"df":2,"docs":{"261":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"270":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"215":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"193":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":3,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"210":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"72":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}},"e":{"(":{"2":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":1,"docs":{"230":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}}}}},"r":{"c":{"df":21,"docs":{"195":{"tf":1.4142135623730951},"199":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.23606797749979},"270":{"tf":2.6457513110645907},"272":{"tf":1.4142135623730951},"273":{"tf":2.23606797749979},"274":{"tf":1.7320508075688772},"286":{"tf":1.4142135623730951},"37":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"151":{"tf":1.0},"186":{"tf":1.4142135623730951},"45":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"282":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"n":{"c":{"df":3,"docs":{"151":{"tf":1.0},"259":{"tf":1.0},"93":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"217":{"tf":1.0}}}}},"r":{"d":{"df":9,"docs":{"203":{"tf":1.0},"220":{"tf":1.0},"276":{"tf":1.7320508075688772},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"268":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":17,"docs":{"208":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0},"217":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":2.449489742783178},"263":{"tf":2.0},"271":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.4142135623730951},"29":{"tf":1.0},"291":{"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}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":19,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"147":{"tf":1.4142135623730951},"150":{"tf":2.0},"152":{"tf":1.0},"153":{"tf":1.0},"211":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"272":{"tf":1.7320508075688772},"273":{"tf":2.6457513110645907},"274":{"tf":2.0},"279":{"tf":1.0},"80":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":15,"docs":{"109":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"212":{"tf":1.0},"25":{"tf":1.0},"263":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"i":{"c":{"_":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}}}}},"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":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"219":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{"81":{"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":70,"docs":{"1":{"tf":1.0},"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"112":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.4142135623730951},"150":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.0},"181":{"tf":1.0},"186":{"tf":1.0},"189":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":2.6457513110645907},"211":{"tf":2.0},"212":{"tf":1.7320508075688772},"213":{"tf":2.449489742783178},"214":{"tf":2.8284271247461903},"215":{"tf":2.0},"219":{"tf":2.23606797749979},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"228":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"244":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"251":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"273":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"3":{"tf":1.0},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.4142135623730951},"81":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"288":{"tf":1.0}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"d":{".":{"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":{"201":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"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":5,"docs":{"152":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}},"s":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}}},"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":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"b":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"154":{"tf":1.7320508075688772}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"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":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":2.0}}}},"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":7,"docs":{"152":{"tf":1.4142135623730951},"161":{"tf":2.23606797749979},"162":{"tf":2.0},"164":{"tf":2.6457513110645907},"165":{"tf":3.1622776601683795},"175":{"tf":1.0},"291":{"tf":3.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":2.23606797749979}}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"286":{"tf":1.0}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"d":{"df":1,"docs":{"206":{"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":{"125":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}},"t":{"df":3,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":3,"docs":{"153":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"110":{"tf":1.4142135623730951},"128":{"tf":2.449489742783178},"129":{"tf":2.449489742783178},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"152":{"tf":1.0},"201":{"tf":1.0},"299":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"b":{"'":{"df":8,"docs":{"189":{"tf":1.0},"199":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.0},"242":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"99":{"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":{},"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":{"164":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":27,"docs":{"194":{"tf":1.7320508075688772},"242":{"tf":1.4142135623730951},"243":{"tf":2.23606797749979},"27":{"tf":1.0},"281":{"tf":1.7320508075688772},"282":{"tf":1.0},"283":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"294":{"tf":1.4142135623730951},"295":{"tf":1.4142135623730951},"296":{"tf":1.4142135623730951},"297":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951},"299":{"tf":1.7320508075688772},"300":{"tf":1.4142135623730951},"301":{"tf":1.4142135623730951},"91":{"tf":1.0},"99":{"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":10,"docs":{"130":{"tf":1.0},"230":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":1.0},"260":{"tf":1.4142135623730951},"273":{"tf":1.0},"275":{"tf":1.0},"37":{"tf":1.0},"65":{"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":37,"docs":{"13":{"tf":1.0},"132":{"tf":1.0},"150":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"172":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"239":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"251":{"tf":1.0},"273":{"tf":1.4142135623730951},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"164":{"tf":1.0},"171":{"tf":1.0},"288":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"244":{"tf":1.0},"89":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"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":{"140":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"189":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"151":{"tf":1.0},"157":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"\"":{"%":{"df":0,"docs":{},"s":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{".":{"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":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}}},"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":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"301":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"110":{"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":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"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":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"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":2,"docs":{"170":{"tf":1.4142135623730951},"301":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}},"df":77,"docs":{"101":{"tf":2.6457513110645907},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"109":{"tf":2.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.4142135623730951},"155":{"tf":1.0},"158":{"tf":2.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.23606797749979},"168":{"tf":2.8284271247461903},"170":{"tf":3.3166247903554},"171":{"tf":2.8284271247461903},"172":{"tf":2.449489742783178},"194":{"tf":1.4142135623730951},"199":{"tf":1.7320508075688772},"202":{"tf":3.0},"203":{"tf":1.0},"207":{"tf":2.0},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"212":{"tf":1.0},"213":{"tf":2.0},"215":{"tf":1.4142135623730951},"219":{"tf":2.0},"220":{"tf":2.0},"228":{"tf":1.0},"229":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":2.6457513110645907},"260":{"tf":1.0},"261":{"tf":1.7320508075688772},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"272":{"tf":2.0},"273":{"tf":2.449489742783178},"274":{"tf":2.23606797749979},"279":{"tf":1.0},"283":{"tf":1.0},"285":{"tf":1.4142135623730951},"286":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"297":{"tf":2.6457513110645907},"299":{"tf":1.0},"300":{"tf":8.888194417315589},"301":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":3.0},"49":{"tf":2.449489742783178},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.7320508075688772},"93":{"tf":1.0},"96":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"170":{"tf":3.0},"172":{"tf":1.0}}},"y":{"<":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}},"t":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}},"v":{"df":1,"docs":{"172":{"tf":1.0}}}},"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":2,"docs":{"199":{"tf":1.0},"202":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"27":{"tf":1.0},"35":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"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":{"65":{"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":{}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"257":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"166":{"tf":1.0},"86":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"273":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":35,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"110":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"213":{"tf":1.7320508075688772},"220":{"tf":1.0},"257":{"tf":2.0},"266":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"297":{"tf":1.0},"299":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"83":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":29,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"128":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"179":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"209":{"tf":1.7320508075688772},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.7320508075688772},"243":{"tf":1.4142135623730951},"257":{"tf":1.0},"259":{"tf":1.0},"277":{"tf":1.7320508075688772},"3":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"85":{"tf":1.0},"90":{"tf":1.0}}}},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"133":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"245":{"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":{"150":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":2.0},"39":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"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":{"107":{"tf":2.0},"140":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"232":{"tf":1.7320508075688772},"235":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":1.0},"209":{"tf":1.0},"219":{"tf":1.0},"263":{"tf":1.0}}}},"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":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"226":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":2.0},"137":{"tf":2.0},"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":3,"docs":{"208":{"tf":1.0},"288":{"tf":2.0},"291":{"tf":1.7320508075688772}}}},"t":{"df":2,"docs":{"268":{"tf":1.0},"298":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"187":{"tf":1.0},"229":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}}},"i":{"df":1,"docs":{"201":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":7,"docs":{"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"172":{"tf":2.0}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"288":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.0},"288":{"tf":2.0},"75":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":8,"docs":{"189":{"tf":1.0},"196":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.4142135623730951},"260":{"tf":1.0},"32":{"tf":1.0},"66":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":24,"docs":{"122":{"tf":1.0},"135":{"tf":1.0},"151":{"tf":1.4142135623730951},"156":{"tf":1.0},"165":{"tf":1.0},"190":{"tf":1.0},"209":{"tf":1.4142135623730951},"211":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"249":{"tf":1.0},"254":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"185":{"tf":1.0},"246":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"158":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"266":{"tf":1.0},"280":{"tf":1.0}}}},"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":3,"docs":{"271":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":2.449489742783178}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"135":{"tf":1.0},"145":{"tf":1.0},"203":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"210":{"tf":1.0},"220":{"tf":1.0},"282":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"252":{"tf":1.0}}}},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":49,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"107":{"tf":1.7320508075688772},"109":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.4142135623730951},"135":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.4142135623730951},"180":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.7320508075688772},"220":{"tf":1.7320508075688772},"221":{"tf":1.0},"252":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.7320508075688772},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"274":{"tf":1.4142135623730951},"277":{"tf":1.0},"280":{"tf":1.0},"284":{"tf":1.0},"296":{"tf":1.0},"300":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"18":{"tf":1.0},"220":{"tf":1.0},"267":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"2":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"tf":1.4142135623730951},"271":{"tf":1.0},"78":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":1,"docs":{"114":{"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":{"66":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"126":{"tf":1.0},"148":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":1,"docs":{"268":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"238":{"tf":1.0},"288":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":20,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"201":{"tf":1.4142135623730951},"203":{"tf":1.7320508075688772},"210":{"tf":1.4142135623730951},"231":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"253":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"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":1,"docs":{"172":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"x":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"119":{"tf":1.0},"13":{"tf":1.0},"151":{"tf":1.0},"169":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.7320508075688772},"2":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}}}},"t":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"137":{"tf":1.0},"139":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"230":{"tf":1.0}},"e":{"\"":{"/":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"174":{"tf":1.0},"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":41,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"15":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"198":{"tf":1.0},"206":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.4142135623730951},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"273":{"tf":1.0},"296":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"n":{"df":2,"docs":{"184":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"223":{"tf":1.0}}},"df":29,"docs":{"189":{"tf":1.4142135623730951},"195":{"tf":1.0},"196":{"tf":1.4142135623730951},"199":{"tf":1.4142135623730951},"204":{"tf":1.0},"223":{"tf":2.23606797749979},"224":{"tf":2.0},"225":{"tf":1.4142135623730951},"226":{"tf":1.7320508075688772},"227":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":2.0},"269":{"tf":1.7320508075688772},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"286":{"tf":1.0},"30":{"tf":1.4142135623730951},"300":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"178":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":3.3166247903554},"48":{"tf":1.0},"63":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":5,"docs":{"231":{"tf":1.0},"232":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}},"df":37,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":2.0},"156":{"tf":2.449489742783178},"159":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":2.23606797749979},"171":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":2.449489742783178},"175":{"tf":1.0},"181":{"tf":2.0},"188":{"tf":1.0},"192":{"tf":2.449489742783178},"201":{"tf":1.0},"247":{"tf":2.0},"248":{"tf":1.4142135623730951},"284":{"tf":4.123105625617661},"288":{"tf":1.0},"291":{"tf":8.426149773176359},"295":{"tf":2.23606797749979},"298":{"tf":7.810249675906654},"299":{"tf":1.0},"301":{"tf":1.0},"73":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"83":{"tf":2.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"119":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"144":{"tf":1.0},"209":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"156":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"249":{"tf":1.0},"261":{"tf":1.7320508075688772},"262":{"tf":1.4142135623730951},"263":{"tf":1.7320508075688772},"48":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"n":{"d":{"df":5,"docs":{"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0}}},"df":2,"docs":{"108":{"tf":1.0},"109":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":4,"docs":{"167":{"tf":1.0},"17":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"130":{"tf":1.0},"186":{"tf":1.0},"256":{"tf":1.0},"288":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"197":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"215":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"219":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"13":{"tf":1.0},"184":{"tf":1.4142135623730951},"197":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.4142135623730951},"43":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"%":{"2":{"0":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"%":{"2":{"0":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{",":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"%":{"2":{"c":{"%":{"2":{"0":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"(":{")":{"%":{"3":{"b":{"df":1,"docs":{"291":{"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":{}},"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":10,"docs":{"11":{"tf":1.0},"189":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"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":{"65":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":3,"docs":{"221":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"165":{"tf":1.0},"201":{"tf":1.0},"230":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}}}}}}},"t":{"'":{"df":10,"docs":{"107":{"tf":1.0},"129":{"tf":1.0},"210":{"tf":1.0},"220":{"tf":1.0},"229":{"tf":1.0},"256":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"278":{"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":8,"docs":{"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"274":{"tf":1.0},"39":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":18,"docs":{"156":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"181":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"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":{"124":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"206":{"tf":1.0},"238":{"tf":1.0},"246":{"tf":1.0}}}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"196":{"tf":1.0},"255":{"tf":1.0}}}},"r":{"df":5,"docs":{"140":{"tf":1.0},"201":{"tf":1.0},"272":{"tf":1.0},"288":{"tf":1.0},"298":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":23,"docs":{"157":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.0},"245":{"tf":1.4142135623730951},"254":{"tf":1.0},"263":{"tf":1.4142135623730951},"269":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":14,"docs":{"134":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.0},"208":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"93":{"tf":1.0}}}},"r":{"d":{"df":2,"docs":{"137":{"tf":1.0},"229":{"tf":1.0}}},"df":0,"docs":{}},"s":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":2.449489742783178}},"p":{"df":0,"docs":{},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"209":{"tf":1.0},"231":{"tf":1.0},"27":{"tf":1.0},"276":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"115":{"tf":1.0},"122":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"48":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":19,"docs":{"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"211":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"231":{"tf":2.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"237":{"tf":1.7320508075688772},"238":{"tf":1.7320508075688772},"239":{"tf":3.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":2.0},"243":{"tf":2.23606797749979},"244":{"tf":4.69041575982343},"246":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":1.7320508075688772},"297":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"231":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"170":{"tf":1.0},"171":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":21,"docs":{"107":{"tf":1.0},"131":{"tf":1.0},"15":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.0},"34":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"140":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"247":{"tf":1.0},"264":{"tf":1.0},"47":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"242":{"tf":1.0},"244":{"tf":1.4142135623730951}}}}}}}},"w":{"df":3,"docs":{"151":{"tf":1.0},"300":{"tf":1.0},"50":{"tf":1.0}},"n":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"u":{"df":1,"docs":{"183":{"tf":1.0}},"m":{"b":{"df":2,"docs":{"208":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":1,"docs":{"255":{"tf":1.0}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"260":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"198":{"tf":1.0},"228":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"273":{"tf":1.0}}},"df":84,"docs":{"101":{"tf":2.0},"102":{"tf":2.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.4142135623730951},"124":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":2.449489742783178},"186":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"226":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":2.449489742783178},"260":{"tf":1.7320508075688772},"261":{"tf":2.0},"263":{"tf":2.23606797749979},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"271":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"281":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.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":{"115":{"tf":1.0},"124":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.7320508075688772}},"e":{">":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"l":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"a":{"d":{"d":{"df":4,"docs":{"291":{"tf":1.7320508075688772},"298":{"tf":2.0},"301":{"tf":1.0},"91":{"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":{"150":{"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":{"150":{"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":13,"docs":{"169":{"tf":1.0},"172":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"284":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"291":{"tf":3.1622776601683795},"293":{"tf":3.0},"296":{"tf":1.0},"298":{"tf":2.449489742783178},"300":{"tf":1.4142135623730951},"80":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"138":{"tf":1.0},"237":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.0},"43":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"215":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"249":{"tf":1.0},"291":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"k":{"df":1,"docs":{"184":{"tf":1.0}}},"l":{"df":8,"docs":{"140":{"tf":1.0},"151":{"tf":1.0},"172":{"tf":1.0},"2":{"tf":1.0},"209":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"276":{"tf":1.0}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"152":{"tf":1.7320508075688772}}}}}},"p":{"df":14,"docs":{"17":{"tf":1.0},"233":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"250":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":2.23606797749979},"271":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"155":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"155":{"tf":1.0},"229":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0}}}},"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":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"15":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"252":{"tf":1.0},"274":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"239":{"tf":1.0},"4":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"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":2,"docs":{"260":{"tf":1.0},"76":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"196":{"tf":1.0},"211":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"179":{"tf":1.0},"244":{"tf":1.0}}}}}}},"df":1,"docs":{"262":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"173":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"153":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":2.0},"129":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":21,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"130":{"tf":1.4142135623730951},"164":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"207":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.0},"220":{"tf":1.0},"233":{"tf":1.0},"256":{"tf":1.0},"264":{"tf":1.4142135623730951},"276":{"tf":1.0},"277":{"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":4,"docs":{"130":{"tf":1.0},"159":{"tf":1.0},"235":{"tf":1.0},"25":{"tf":1.0}}}}}},"m":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":2,"docs":{"27":{"tf":1.0},"291":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"110":{"tf":1.4142135623730951},"152":{"tf":1.0},"172":{"tf":1.0},"190":{"tf":1.0},"231":{"tf":1.0},"255":{"tf":1.0},"261":{"tf":1.0},"75":{"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":18,"docs":{"132":{"tf":2.0},"160":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":3.0},"291":{"tf":3.0},"293":{"tf":1.7320508075688772},"298":{"tf":3.7416573867739413},"45":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"169":{"tf":1.0},"64":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"260":{"tf":1.0},"263":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":8,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":2.0},"103":{"tf":2.8284271247461903},"104":{"tf":1.0},"137":{"tf":2.0},"203":{"tf":1.0},"59":{"tf":1.0},"71":{"tf":1.0}},"e":{".":{".":{".":{"&":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"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":{"186":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"114":{"tf":1.0},"130":{"tf":1.7320508075688772},"132":{"tf":1.0}}}}},"k":{"df":3,"docs":{"293":{"tf":2.0},"58":{"tf":1.0},"98":{"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":{"130":{"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":{"181":{"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":{"101":{"tf":1.0}}},"6":{"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":{}},"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":{"102":{"tf":1.0}}},"6":{"df":1,"docs":{"102":{"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":{"103":{"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":2,"docs":{"238":{"tf":1.0},"244":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"184":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":22,"docs":{"118":{"tf":1.0},"128":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"183":{"tf":1.0},"185":{"tf":1.0},"198":{"tf":1.0},"205":{"tf":1.0},"211":{"tf":1.0},"228":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"253":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"298":{"tf":2.23606797749979},"64":{"tf":1.0},"75":{"tf":2.8284271247461903}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":6,"docs":{"188":{"tf":1.4142135623730951},"201":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":2.0},"209":{"tf":1.7320508075688772},"243":{"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":{"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":1,"docs":{"158":{"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":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":124,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":2.449489742783178},"102":{"tf":3.3166247903554},"103":{"tf":2.0},"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"109":{"tf":3.605551275463989},"110":{"tf":2.0},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":3.0},"118":{"tf":2.8284271247461903},"119":{"tf":2.6457513110645907},"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"122":{"tf":3.1622776601683795},"123":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":2.8284271247461903},"126":{"tf":2.0},"127":{"tf":3.3166247903554},"128":{"tf":1.4142135623730951},"129":{"tf":2.0},"130":{"tf":3.4641016151377544},"131":{"tf":3.4641016151377544},"132":{"tf":1.0},"133":{"tf":2.23606797749979},"134":{"tf":2.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":2.23606797749979},"139":{"tf":2.449489742783178},"145":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":2.449489742783178},"153":{"tf":1.7320508075688772},"154":{"tf":2.0},"155":{"tf":3.1622776601683795},"156":{"tf":3.4641016151377544},"157":{"tf":1.7320508075688772},"158":{"tf":1.4142135623730951},"160":{"tf":2.0},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"164":{"tf":2.6457513110645907},"165":{"tf":3.1622776601683795},"166":{"tf":2.449489742783178},"167":{"tf":1.4142135623730951},"169":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":2.23606797749979},"172":{"tf":2.6457513110645907},"173":{"tf":3.0},"175":{"tf":2.449489742783178},"176":{"tf":2.449489742783178},"177":{"tf":2.23606797749979},"178":{"tf":1.0},"180":{"tf":2.0},"181":{"tf":3.0},"182":{"tf":1.0},"183":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"188":{"tf":2.0},"192":{"tf":1.0},"198":{"tf":1.0},"200":{"tf":1.4142135623730951},"201":{"tf":3.1622776601683795},"202":{"tf":1.4142135623730951},"203":{"tf":2.0},"204":{"tf":1.0},"205":{"tf":2.23606797749979},"206":{"tf":4.0},"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178},"209":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"220":{"tf":2.0},"235":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":2.8284271247461903},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"257":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":2.6457513110645907},"286":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"4":{"tf":1.4142135623730951},"45":{"tf":3.3166247903554},"49":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"81":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":2.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":2.0},"92":{"tf":1.7320508075688772},"93":{"tf":2.449489742783178},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}},"s":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"204":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"109":{"tf":1.0}}},"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":10,"docs":{"155":{"tf":1.0},"161":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"288":{"tf":1.0},"45":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"147":{"tf":1.0},"156":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"107":{"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":{"177":{"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}}}}}}}}}},"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"209":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"178":{"tf":1.0},"210":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"140":{"tf":1.0},"59":{"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":6,"docs":{"138":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"291":{"tf":1.0}}}}},"r":{"df":1,"docs":{"107":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"183":{"tf":1.0},"201":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"276":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":13,"docs":{"133":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.7320508075688772},"166":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"232":{"tf":1.0},"249":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"273":{"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":5,"docs":{"209":{"tf":1.0},"210":{"tf":1.0},"247":{"tf":1.0},"268":{"tf":1.0},"93":{"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":2,"docs":{"151":{"tf":1.0},"249":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"74":{"tf":1.0},"75":{"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":{"120":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"60":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"298":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":12,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"187":{"tf":1.0},"220":{"tf":1.4142135623730951},"228":{"tf":1.0},"25":{"tf":1.0},"252":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"t":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":4,"docs":{"173":{"tf":3.0},"231":{"tf":1.0},"244":{"tf":1.0},"39":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"112":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"201":{"tf":1.0}}}}}}},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"264":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"131":{"tf":1.0},"142":{"tf":1.0},"160":{"tf":1.0},"190":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":7,"docs":{"103":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"158":{"tf":1.0},"171":{"tf":1.0},"83":{"tf":1.0},"87":{"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":7,"docs":{"107":{"tf":1.0},"151":{"tf":1.0},"184":{"tf":1.0},"263":{"tf":1.4142135623730951},"64":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"73":{"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":{"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"157":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":5,"docs":{"150":{"tf":1.0},"201":{"tf":1.0},"239":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"201":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"220":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"242":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"233":{"tf":1.0},"244":{"tf":1.0},"293":{"tf":1.4142135623730951},"68":{"tf":1.0},"81":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":7,"docs":{"126":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"184":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}},"u":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"a":{"df":0,"docs":{},"t":{")":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"150":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"f":{"df":1,"docs":{"193":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{")":{".":{"df":0,"docs":{},"v":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"110":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}}}}},"v":{"df":1,"docs":{"110":{"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":{"181":{"tf":1.0}}},"1":{"df":1,"docs":{"181":{"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":{")":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"193":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"124":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"(":{"c":{"a":{"df":0,"docs":{},"t":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"272":{"tf":1.0},"273":{"tf":1.0},"274":{"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"279":{"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":9,"docs":{"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"201":{"tf":1.0},"207":{"tf":2.449489742783178},"233":{"tf":1.0},"234":{"tf":1.0},"245":{"tf":1.0},"248":{"tf":1.0},"286":{"tf":1.0}},"p":{"df":5,"docs":{"201":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":3.1622776601683795},"208":{"tf":2.0}},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"152":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":2,"docs":{"245":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"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":{":":{"1":{"1":{"df":1,"docs":{"207":{"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":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":25,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"187":{"tf":1.4142135623730951},"201":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"242":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"296":{"tf":1.0},"38":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":26,"docs":{"138":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"79":{"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":{"235":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"181":{"tf":1.0},"219":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"25":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.0},"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":13,"docs":{"110":{"tf":1.0},"138":{"tf":1.0},"188":{"tf":1.0},"203":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"229":{"tf":1.4142135623730951},"252":{"tf":1.0},"271":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"93":{"tf":1.7320508075688772}}}},"df":147,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":1.0},"134":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":2.23606797749979},"169":{"tf":1.7320508075688772},"17":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"18":{"tf":1.0},"181":{"tf":1.4142135623730951},"184":{"tf":2.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":2.0},"19":{"tf":1.4142135623730951},"192":{"tf":1.0},"197":{"tf":1.4142135623730951},"198":{"tf":1.0},"20":{"tf":1.0},"200":{"tf":1.4142135623730951},"201":{"tf":1.7320508075688772},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":2.0},"208":{"tf":2.0},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"213":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"222":{"tf":1.4142135623730951},"223":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"227":{"tf":1.0},"229":{"tf":2.23606797749979},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"247":{"tf":2.23606797749979},"249":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"250":{"tf":2.449489742783178},"252":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"256":{"tf":1.4142135623730951},"259":{"tf":1.7320508075688772},"261":{"tf":1.4142135623730951},"263":{"tf":2.23606797749979},"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"275":{"tf":1.7320508075688772},"277":{"tf":1.0},"279":{"tf":2.449489742783178},"29":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.7320508075688772},"3":{"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},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"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":{"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":{}},"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":{"124":{"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":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"204":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"df":34,"docs":{"110":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"17":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"188":{"tf":2.23606797749979},"194":{"tf":1.0},"201":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"215":{"tf":1.4142135623730951},"219":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.4142135623730951},"243":{"tf":2.0},"244":{"tf":1.0},"265":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0}},"i":{"d":{"df":4,"docs":{"209":{"tf":1.4142135623730951},"231":{"tf":1.0},"233":{"tf":1.4142135623730951},"235":{"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":{"235":{"tf":1.7320508075688772}}}}}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"204":{"tf":1.0}}}}}}}}}}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"199":{"tf":1.0},"271":{"tf":1.0},"288":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}}},"df":4,"docs":{"170":{"tf":1.0},"231":{"tf":1.0},"255":{"tf":1.0},"72":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"273":{"tf":1.0}}}}}}}}},"v":{">":{"(":{"\"":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"c":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{".":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"<":{"%":{"df":1,"docs":{"243":{"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":{}}}}}}}},"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":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":2.0}}}}}}},"x":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"278":{"tf":1.0}}}},"l":{"df":9,"docs":{"110":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":2.23606797749979},"208":{"tf":1.0},"58":{"tf":2.0}},"i":{"d":{"df":28,"docs":{"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"119":{"tf":1.0},"148":{"tf":1.4142135623730951},"150":{"tf":1.0},"172":{"tf":1.0},"196":{"tf":1.0},"199":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"229":{"tf":2.0},"242":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"266":{"tf":1.0},"273":{"tf":1.7320508075688772},"50":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"158":{"tf":1.0}}}},"df":0,"docs":{}},"df":80,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":2.23606797749979},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"119":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.4142135623730951},"137":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":2.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":2.449489742783178},"209":{"tf":1.4142135623730951},"210":{"tf":3.0},"211":{"tf":2.0},"212":{"tf":1.7320508075688772},"213":{"tf":2.6457513110645907},"214":{"tf":2.8284271247461903},"215":{"tf":2.6457513110645907},"216":{"tf":1.4142135623730951},"219":{"tf":2.6457513110645907},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.7320508075688772},"255":{"tf":1.0},"288":{"tf":2.6457513110645907},"291":{"tf":1.0},"293":{"tf":6.082762530298219},"298":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"'":{"df":5,"docs":{"103":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"212":{"tf":1.0}}},"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"r":{"df":127,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":2.449489742783178},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"145":{"tf":2.0},"146":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":2.0},"152":{"tf":2.23606797749979},"153":{"tf":2.23606797749979},"154":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"161":{"tf":1.7320508075688772},"162":{"tf":2.23606797749979},"164":{"tf":2.449489742783178},"165":{"tf":3.0},"168":{"tf":2.0},"171":{"tf":1.7320508075688772},"173":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"184":{"tf":3.4641016151377544},"186":{"tf":1.7320508075688772},"187":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"197":{"tf":2.0},"206":{"tf":2.23606797749979},"207":{"tf":2.449489742783178},"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"213":{"tf":1.0},"221":{"tf":1.4142135623730951},"233":{"tf":2.0},"234":{"tf":1.4142135623730951},"235":{"tf":1.0},"245":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":2.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"281":{"tf":1.0},"286":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"51":{"tf":2.449489742783178},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"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.7320508075688772},"99":{"tf":1.0}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":35,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":2.449489742783178},"112":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":2.0},"148":{"tf":1.4142135623730951},"149":{"tf":2.6457513110645907},"150":{"tf":1.0},"154":{"tf":1.0},"184":{"tf":1.0},"249":{"tf":1.0},"45":{"tf":2.6457513110645907},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":2.23606797749979},"72":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"154":{"tf":1.7320508075688772},"173":{"tf":1.0},"180":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"247":{"tf":1.0},"251":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0}}}},"t":{"df":1,"docs":{"163":{"tf":1.0}}}},"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"91":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":8,"docs":{"173":{"tf":1.0},"209":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0},"298":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"269":{"tf":1.0}}}}},"df":6,"docs":{"172":{"tf":1.0},"243":{"tf":1.4142135623730951},"293":{"tf":5.744562646538029},"58":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"268":{"tf":1.0},"274":{"tf":1.0}},"e":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":58,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":2.0},"140":{"tf":1.0},"142":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":1.4142135623730951},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"175":{"tf":1.4142135623730951},"178":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"245":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"259":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"282":{"tf":1.0},"299":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":1,"docs":{"116":{"tf":1.0}},"i":{"df":2,"docs":{"209":{"tf":1.0},"25":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":23,"docs":{"10":{"tf":1.4142135623730951},"137":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"177":{"tf":1.0},"187":{"tf":1.0},"190":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"221":{"tf":1.0},"229":{"tf":1.0},"232":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"264":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":5,"docs":{"232":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"148":{"tf":1.0},"165":{"tf":1.0},"180":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.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":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"223":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"195":{"tf":1.0},"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"222":{"tf":2.8284271247461903},"223":{"tf":2.449489742783178},"224":{"tf":2.0},"225":{"tf":2.0},"226":{"tf":2.0},"227":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.0},"231":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"140":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":2,"docs":{"231":{"tf":1.0},"260":{"tf":1.0}}},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"w":{"/":{"df":0,"docs":{},"o":{"df":4,"docs":{"207":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"230":{"tf":1.0},"244":{"tf":1.7320508075688772},"81":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":3,"docs":{"268":{"tf":1.0},"272":{"tf":1.0},"34":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":26,"docs":{"111":{"tf":1.0},"113":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.7320508075688772},"172":{"tf":1.7320508075688772},"178":{"tf":1.0},"194":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.7320508075688772},"223":{"tf":1.0},"232":{"tf":1.0},"235":{"tf":1.0},"247":{"tf":1.0},"256":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"272":{"tf":1.4142135623730951},"277":{"tf":1.0},"280":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"102":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"206":{"tf":1.0},"258":{"tf":1.0},"33":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"215":{"tf":1.0},"219":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"142":{"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":{"233":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"233":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"275":{"tf":1.0}}}}},"y":{"df":50,"docs":{"101":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"13":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"183":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":1.0},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"244":{"tf":1.4142135623730951},"257":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"272":{"tf":1.4142135623730951},"282":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"43":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}}}},"df":2,"docs":{"101":{"tf":1.0},"72":{"tf":1.7320508075688772}},"e":{"'":{"d":{"df":3,"docs":{"129":{"tf":1.0},"232":{"tf":1.0},"272":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":13,"docs":{"198":{"tf":1.0},"206":{"tf":1.0},"228":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"272":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":4,"docs":{"161":{"tf":1.0},"173":{"tf":1.0},"276":{"tf":1.0},"39":{"tf":1.0}}}},"b":{"df":9,"docs":{"215":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":2.449489742783178},"254":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"<":{"/":{"df":0,"docs":{},"h":{"1":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"0":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"243":{"tf":1.0},"282":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":11,"docs":{"1":{"tf":1.0},"171":{"tf":1.0},"18":{"tf":1.0},"208":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.7320508075688772},"3":{"tf":1.0},"64":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":4,"docs":{"15":{"tf":1.0},"168":{"tf":1.0},"198":{"tf":1.0},"277":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"173":{"tf":1.0},"219":{"tf":1.0},"238":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"173":{"tf":1.0},"209":{"tf":1.0},"238":{"tf":1.0},"266":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":6,"docs":{"157":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"245":{"tf":1.0},"274":{"tf":1.0},"65":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"190":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"155":{"tf":1.0},"263":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":1.0},"182":{"tf":1.0},"201":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"288":{"tf":1.4142135623730951},"48":{"tf":1.0},"79":{"tf":1.0},"86":{"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":{"52":{"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":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"273":{"tf":1.0},"45":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":12,"docs":{"167":{"tf":1.0},"202":{"tf":1.0},"233":{"tf":1.0},"248":{"tf":1.0},"271":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"85":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"113":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"277":{"tf":1.0}},"n":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"262":{"tf":1.0},"72":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"67":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"72":{"tf":1.7320508075688772},"73":{"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":{"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":{}},"n":{"df":6,"docs":{"184":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"71":{"tf":1.7320508075688772},"79":{"tf":1.0}}},"p":{"df":21,"docs":{"172":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"267":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"284":{"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":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"102":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.0},"173":{"tf":1.4142135623730951},"183":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"246":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"39":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"295":{"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":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":28,"docs":{"115":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"188":{"tf":1.4142135623730951},"194":{"tf":1.0},"2":{"tf":1.0},"208":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"6":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":9,"docs":{"103":{"tf":1.0},"169":{"tf":1.0},"189":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"220":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"279":{"tf":1.0}}}},"r":{"d":{"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":25,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.0},"233":{"tf":1.0},"244":{"tf":2.0},"248":{"tf":1.0},"249":{"tf":1.0},"258":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":12,"docs":{"158":{"tf":1.4142135623730951},"228":{"tf":1.0},"242":{"tf":1.0},"263":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"65":{"tf":2.0},"8":{"tf":1.7320508075688772},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"221":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"150":{"tf":1.0},"194":{"tf":1.0},"33":{"tf":1.0}}}},"s":{"df":5,"docs":{"112":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"101":{"tf":1.0},"181":{"tf":1.0},"208":{"tf":1.0},"214":{"tf":1.0},"276":{"tf":1.0},"65":{"tf":1.0},"92":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"209":{"tf":1.0},"272":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":21,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":2.23606797749979},"123":{"tf":1.0},"130":{"tf":1.0},"152":{"tf":1.4142135623730951},"163":{"tf":1.0},"170":{"tf":3.0},"181":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"243":{"tf":1.0},"27":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":4,"docs":{"194":{"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":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"208":{"tf":1.0}}}}},"df":35,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"237":{"tf":1.4142135623730951},"242":{"tf":1.0},"245":{"tf":1.4142135623730951},"246":{"tf":1.0},"247":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.4142135623730951},"262":{"tf":1.0},"264":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":7,"docs":{"115":{"tf":1.0},"153":{"tf":1.0},"173":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.0},"65":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"31":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":29,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"126":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"145":{"tf":1.7320508075688772},"146":{"tf":1.4142135623730951},"148":{"tf":1.7320508075688772},"149":{"tf":1.7320508075688772},"152":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"170":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":2.0},"187":{"tf":1.7320508075688772},"208":{"tf":1.7320508075688772},"221":{"tf":1.0},"248":{"tf":2.0},"288":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"75":{"tf":5.0990195135927845},"77":{"tf":2.449489742783178},"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"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":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"y":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":9,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"146":{"tf":2.0},"172":{"tf":1.7320508075688772},"208":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"52":{"tf":1.0},"75":{"tf":5.196152422706632}},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"142":{"tf":1.4142135623730951},"236":{"tf":1.0},"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":{"111":{"tf":2.23606797749979},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"74":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"112":{"tf":2.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"58":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":14,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"155":{"tf":1.0},"185":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"229":{"tf":1.0},"233":{"tf":1.0},"247":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"277":{"tf":1.4142135623730951},"45":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":36,"docs":{"115":{"tf":1.0},"12":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.4142135623730951},"189":{"tf":1.0},"19":{"tf":1.0},"194":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"224":{"tf":1.0},"225":{"tf":1.0},"23":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":29,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"18":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"217":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"24":{"tf":1.0},"248":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.4142135623730951},"260":{"tf":1.0},"261":{"tf":1.0},"265":{"tf":1.0},"267":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"64":{"tf":1.0}}},"v":{"df":13,"docs":{"131":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.0},"198":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"266":{"tf":1.0},"275":{"tf":1.4142135623730951},"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":8,"docs":{"112":{"tf":1.0},"150":{"tf":1.0},"208":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.0},"265":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0}}}}}}}}}},"z":{"df":1,"docs":{"75":{"tf":5.5677643628300215}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"116":{"tf":1.0},"171":{"tf":1.0},"4":{"tf":1.0},"75":{"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":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":33,"docs":{"101":{"tf":1.0},"102":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"170":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"248":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"87":{"tf":1.0},"90":{"tf":1.4142135623730951}},"}":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.0},"270":{"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":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.0},"270":{"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":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"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":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"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":{}}}},"df":0,"docs":{}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"175":{"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":{"137":{"tf":1.0}}},"3":{"5":{"df":0,"docs":{},"e":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{".":{"5":{"5":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{".":{"0":{"df":1,"docs":{"184":{"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":{"149":{"tf":1.0},"184":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"df":6,"docs":{"131":{"tf":1.0},"149":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"51":{"tf":1.4142135623730951},"72":{"tf":1.0}},"x":{"1":{"0":{"0":{"0":{"df":0,"docs":{},"x":{"1":{"0":{"0":{"0":{"df":1,"docs":{"184":{"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":30,"docs":{"108":{"tf":2.449489742783178},"109":{"tf":3.1622776601683795},"123":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"155":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"179":{"tf":2.23606797749979},"197":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"95":{"tf":1.0}},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"1":{"1":{"1":{"1":{"1":{"1":{"1":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"87":{"tf":1.0}}},"df":2,"docs":{"139":{"tf":1.0},"173":{"tf":1.0}}},"2":{"df":1,"docs":{"94":{"tf":1.0}}},"5":{".":{"0":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"141":{"tf":1.0},"146":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"45":{"tf":1.0}}},":":{"1":{"df":2,"docs":{"291":{"tf":1.0},"293":{"tf":1.0}}},"_":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"df":139,"docs":{"10":{"tf":1.4142135623730951},"101":{"tf":2.0},"102":{"tf":1.7320508075688772},"103":{"tf":2.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"113":{"tf":1.0},"114":{"tf":2.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"132":{"tf":2.23606797749979},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":2.0},"15":{"tf":1.4142135623730951},"150":{"tf":2.449489742783178},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.449489742783178},"179":{"tf":2.0},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":2.0},"186":{"tf":2.8284271247461903},"187":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":3.0},"209":{"tf":1.0},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"221":{"tf":1.4142135623730951},"223":{"tf":1.0},"228":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"253":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.0},"261":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":2.8284271247461903},"74":{"tf":1.4142135623730951},"75":{"tf":3.4641016151377544},"77":{"tf":2.23606797749979},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.4142135623730951},"83":{"tf":2.449489742783178},"84":{"tf":2.23606797749979},"85":{"tf":2.449489742783178},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}},"m":{"b":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"*":{"a":{"df":1,"docs":{"114":{"tf":1.0}}},"b":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"7":{"3":{"9":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":3,"docs":{"109":{"tf":1.0},"158":{"tf":1.0},"48":{"tf":1.0}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"df":1,"docs":{"180":{"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":{"96":{"tf":1.7320508075688772}}},"9":{"df":4,"docs":{"106":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"207":{"tf":2.449489742783178},"96":{"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":112,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"16":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"170":{"tf":1.0},"175":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"178":{"tf":2.23606797749979},"179":{"tf":1.0},"180":{"tf":2.0},"181":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"187":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"193":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"224":{"tf":1.0},"228":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.7320508075688772},"288":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"71":{"tf":1.7320508075688772},"73":{"tf":3.4641016151377544},"74":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"3":{".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"158":{"tf":1.0}}},"2":{"df":2,"docs":{"155":{"tf":1.0},"45":{"tf":1.0}}},"3":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"df":86,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":2.0},"121":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"164":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.0},"180":{"tf":2.0},"181":{"tf":1.0},"183":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"19":{"tf":1.0},"193":{"tf":1.0},"197":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"228":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":2.23606797749979},"75":{"tf":3.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0}},"r":{"d":{"df":2,"docs":{"215":{"tf":1.0},"252":{"tf":1.0}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"115":{"tf":1.0}}},"df":0,"docs":{}},"df":53,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"195":{"tf":1.0},"20":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"99":{"tf":1.0}}},"5":{"0":{"df":2,"docs":{"231":{"tf":1.0},"257":{"tf":1.0}}},"4":{"3":{"2":{"df":2,"docs":{"210":{"tf":1.0},"257":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":43,"docs":{"103":{"tf":1.0},"123":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"165":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"189":{"tf":1.0},"197":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"248":{"tf":1.4142135623730951},"251":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"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":{"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"45":{"tf":1.0}}},"6":{"df":1,"docs":{"51":{"tf":2.0}}},"df":24,"docs":{"103":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.4142135623730951},"158":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"197":{"tf":1.0},"206":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"228":{"tf":1.0},"26":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}}},"7":{"5":{"4":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":13,"docs":{"124":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"172":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.7320508075688772}}},"8":{"0":{"8":{"0":{"df":4,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"139":{"tf":1.0},"152":{"tf":1.4142135623730951},"172":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"262":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.0},"29":{"tf":1.0},"52":{"tf":1.0}}},"9":{"9":{"9":{"9":{"9":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"103":{"tf":2.0},"179":{"tf":1.4142135623730951},"187":{"tf":2.8284271247461903},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}},"df":7,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"172":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"52":{"tf":1.0},"54":{"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":{"74":{"tf":1.4142135623730951}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"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":{"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":{}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"74":{"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":25,"docs":{"108":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"154":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.0},"219":{"tf":1.0},"235":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"293":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":3.872983346207417},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"263":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{"_":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":2,"docs":{"167":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"a":{"df":1,"docs":{"179":{"tf":2.23606797749979}}},"df":0,"docs":{}},"b":{"c":{"d":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"107":{"tf":1.4142135623730951},"153":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"255":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0}}}},"o":{"df":0,"docs":{},"v":{"df":53,"docs":{"110":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"197":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"235":{"tf":1.4142135623730951},"241":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.7320508075688772},"263":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"279":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"51":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"s":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"115":{"tf":1.0},"157":{"tf":1.0},"272":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"236":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":2.0},"277":{"tf":1.0},"278":{"tf":3.1622776601683795},"279":{"tf":2.0},"280":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":13,"docs":{"134":{"tf":1.0},"156":{"tf":1.7320508075688772},"170":{"tf":1.0},"173":{"tf":1.0},"181":{"tf":1.0},"217":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"267":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":26,"docs":{"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"123":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.7320508075688772},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.0},"214":{"tf":1.0},"237":{"tf":1.0},"269":{"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":4,"docs":{"169":{"tf":1.0},"173":{"tf":1.0},"190":{"tf":1.0},"243":{"tf":1.0}}}}}}}},"r":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"222":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"155":{"tf":2.6457513110645907},"289":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"155":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"213":{"tf":1.0},"39":{"tf":1.0}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":10,"docs":{"108":{"tf":1.0},"160":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.7320508075688772},"259":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"36":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"t":{"df":2,"docs":{"239":{"tf":1.0},"267":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"284":{"tf":1.0},"288":{"tf":3.3166247903554},"291":{"tf":1.7320508075688772},"293":{"tf":1.7320508075688772},"298":{"tf":1.7320508075688772}}}},"v":{"df":3,"docs":{"243":{"tf":1.0},"263":{"tf":1.0},"7":{"tf":2.23606797749979}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":64,"docs":{"102":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"127":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":2.23606797749979},"173":{"tf":2.0},"174":{"tf":1.4142135623730951},"180":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"201":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"213":{"tf":1.7320508075688772},"215":{"tf":1.0},"216":{"tf":1.0},"22":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":2.6457513110645907},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"273":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"231":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":5,"docs":{"134":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"192":{"tf":1.0},"193":{"tf":1.0}}}},"x":{"df":2,"docs":{"141":{"tf":1.0},"146":{"tf":1.0}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":2,"docs":{"298":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":2,"docs":{"291":{"tf":1.0},"91":{"tf":1.0}}},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}},"s":{"b":{"df":1,"docs":{"301":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":18,"docs":{"135":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"166":{"tf":1.0},"169":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.7320508075688772},"30":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"85":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"165":{"tf":1.0},"190":{"tf":1.0},"210":{"tf":1.0},"257":{"tf":1.0},"267":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.4142135623730951},"66":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.0},"239":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":2,"docs":{"109":{"tf":2.449489742783178},"197":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":21,"docs":{"116":{"tf":1.0},"124":{"tf":1.0},"140":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"170":{"tf":1.0},"178":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"268":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":14,"docs":{"113":{"tf":1.4142135623730951},"164":{"tf":1.0},"195":{"tf":1.0},"207":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"39":{"tf":1.4142135623730951},"59":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"194":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":12,"docs":{"138":{"tf":1.7320508075688772},"147":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":1.0},"166":{"tf":1.0},"235":{"tf":1.7320508075688772},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"265":{"tf":1.4142135623730951},"271":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"144":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.4142135623730951},"229":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"39":{"tf":1.0},"48":{"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":2,"docs":{"149":{"tf":1.0},"293":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":11,"docs":{"109":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"184":{"tf":1.0},"202":{"tf":1.0},"240":{"tf":1.0},"274":{"tf":1.0},"64":{"tf":2.0},"65":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"187":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.0},"66":{"tf":1.0}}}}}}},"df":4,"docs":{"106":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"207":{"tf":3.605551275463989},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"280":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":8,"docs":{"113":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"198":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"d":{"df":1,"docs":{"209":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":4,"docs":{"215":{"tf":1.0},"242":{"tf":1.0},"264":{"tf":1.0},"281":{"tf":1.0}}}},"l":{"a":{"df":1,"docs":{"288":{"tf":1.0}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"150":{"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":{"230":{"tf":1.0}}}}}}}}},"i":{"a":{"df":20,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":2.0},"130":{"tf":2.6457513110645907},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":2.449489742783178},"204":{"tf":1.7320508075688772},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}},"s":{"df":8,"docs":{"114":{"tf":2.0},"115":{"tf":2.449489742783178},"116":{"tf":2.449489742783178},"117":{"tf":2.23606797749979},"118":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"131":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"45":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":46,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"137":{"tf":1.0},"144":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":2.0},"190":{"tf":1.0},"194":{"tf":1.4142135623730951},"201":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"207":{"tf":2.0},"208":{"tf":2.0},"209":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"254":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"127":{"tf":1.0},"149":{"tf":1.0},"163":{"tf":1.0},"177":{"tf":1.0},"193":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0}},"g":{"df":3,"docs":{"156":{"tf":1.0},"217":{"tf":1.4142135623730951},"255":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":24,"docs":{"119":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"205":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":2.0},"293":{"tf":1.7320508075688772},"298":{"tf":2.23606797749979},"69":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"95":{"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":{"235":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"117":{"tf":1.0},"12":{"tf":1.4142135623730951},"135":{"tf":1.0},"145":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.0},"291":{"tf":1.4142135623730951},"64":{"tf":1.0},"77":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"122":{"tf":1.0},"220":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":11,"docs":{"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"244":{"tf":1.0},"265":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":2.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":8,"docs":{"139":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":2.0},"166":{"tf":1.0},"176":{"tf":2.6457513110645907},"177":{"tf":2.6457513110645907},"92":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"115":{"tf":1.0},"229":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":4,"docs":{"207":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"55":{"tf":1.0}}}},"y":{"df":0,"docs":{},"z":{"df":3,"docs":{"231":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"270":{"tf":1.7320508075688772},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"278":{"tf":1.0}}}}},"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":5,"docs":{"266":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0}}}}},"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":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"279":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"279":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"266":{"tf":2.449489742783178},"267":{"tf":2.6457513110645907},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"274":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951}},"s":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"266":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}},"df":9,"docs":{"267":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"272":{"tf":2.8284271247461903},"273":{"tf":2.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"277":{"tf":1.7320508075688772},"278":{"tf":2.6457513110645907},"279":{"tf":4.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":26,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.4142135623730951},"131":{"tf":2.0},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"153":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.0},"180":{"tf":1.0},"243":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"298":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":1.0}}},"y":{"df":1,"docs":{"208":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"135":{"tf":1.0},"147":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":21,"docs":{"112":{"tf":1.0},"122":{"tf":1.4142135623730951},"128":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"199":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.0},"255":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"151":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"195":{"tf":1.0},"206":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"277":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":9,"docs":{"147":{"tf":1.0},"169":{"tf":1.0},"217":{"tf":1.0},"229":{"tf":1.0},"255":{"tf":1.0},"264":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.0},"67":{"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":7,"docs":{"183":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"243":{"tf":1.0},"270":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"}":{"/":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"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":{}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"279":{"tf":1.7320508075688772}}}}}}}}},"df":45,"docs":{"166":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.7320508075688772},"193":{"tf":1.4142135623730951},"194":{"tf":1.4142135623730951},"198":{"tf":2.6457513110645907},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"201":{"tf":1.4142135623730951},"202":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"216":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.4142135623730951},"220":{"tf":1.0},"221":{"tf":2.23606797749979},"227":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"tf":2.0},"230":{"tf":1.0},"243":{"tf":1.0},"265":{"tf":1.7320508075688772},"266":{"tf":2.8284271247461903},"267":{"tf":4.0},"268":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.4142135623730951},"300":{"tf":1.0},"36":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"176":{"tf":1.0},"221":{"tf":1.0},"291":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":6,"docs":{"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"33":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"244":{"tf":1.0},"291":{"tf":1.0}}},"df":6,"docs":{"101":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.4142135623730951},"291":{"tf":1.0},"75":{"tf":1.0}}},"y":{"(":{"1":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"<":{"a":{">":{"(":{"a":{"df":1,"docs":{"139":{"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":{"146":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"1":{"0":{"df":1,"docs":{"146":{"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":1,"docs":{"279":{"tf":1.0}}},"df":15,"docs":{"160":{"tf":1.0},"169":{"tf":1.0},"207":{"tf":1.0},"216":{"tf":1.0},"224":{"tf":1.4142135623730951},"239":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":2.0},"264":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"167":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":1.0},"228":{"tf":1.0},"59":{"tf":1.0}}}}},"v":{"df":1,"docs":{"207":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"107":{"tf":1.0},"184":{"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":24,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.7320508075688772},"4":{"tf":1.0},"48":{"tf":1.7320508075688772},"69":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"119":{"tf":1.0},"182":{"tf":1.0},"220":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"72":{"tf":2.8284271247461903}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"130":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"243":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"'":{"df":1,"docs":{"239":{"tf":1.0}}},"(":{"df":2,"docs":{"138":{"tf":1.0},"248":{"tf":1.0}}},"1":{"df":1,"docs":{"114":{"tf":1.0}}},"2":{"df":2,"docs":{"114":{"tf":1.7320508075688772},"156":{"tf":1.0}}},"c":{"df":1,"docs":{"232":{"tf":1.0}}},"df":22,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.0},"139":{"tf":1.4142135623730951},"146":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"160":{"tf":1.0},"170":{"tf":1.7320508075688772},"172":{"tf":1.0},"175":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"220":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":2.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"48":{"tf":1.0}},"s":{"/":{"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":1,"docs":{"167":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"137":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"163":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":16,"docs":{"124":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":2.0},"147":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.449489742783178},"173":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"239":{"tf":1.4142135623730951},"247":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"151":{"tf":1.0},"177":{"tf":1.0},"209":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"144":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.0},"276":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"233":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"196":{"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":9,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"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":{},"i":{"d":{"df":2,"docs":{"172":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"k":{"df":5,"docs":{"157":{"tf":1.0},"164":{"tf":1.0},"230":{"tf":1.4142135623730951},"269":{"tf":1.0},"81":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"209":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"102":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"254":{"tf":1.0}},"e":{"d":{">":{"(":{"df":0,"docs":{},"o":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"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":{"138":{"tf":1.4142135623730951}}}}}}}}}},"<":{"a":{"df":1,"docs":{"138":{"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":9,"docs":{"109":{"tf":1.0},"135":{"tf":1.4142135623730951},"144":{"tf":1.0},"154":{"tf":1.4142135623730951},"219":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"156":{"tf":1.0},"255":{"tf":1.0},"293":{"tf":3.7416573867739413},"68":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"166":{"tf":1.0},"196":{"tf":1.4142135623730951},"33":{"tf":1.0},"84":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"298":{"tf":1.0}}}}}}},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"233":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":21,"docs":{"111":{"tf":2.6457513110645907},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"175":{"tf":1.0},"202":{"tf":2.8284271247461903},"204":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"295":{"tf":1.0},"297":{"tf":2.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"74":{"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":{"112":{"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":16,"docs":{"103":{"tf":1.4142135623730951},"119":{"tf":1.0},"137":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"230":{"tf":1.0},"258":{"tf":1.0},"288":{"tf":2.6457513110645907},"293":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0},"79":{"tf":1.0},"81":{"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":{"246":{"tf":1.0}}}},"df":1,"docs":{"246":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"220":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"o":{"df":5,"docs":{"11":{"tf":1.4142135623730951},"189":{"tf":1.0},"254":{"tf":1.4142135623730951},"258":{"tf":1.0},"278":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":18,"docs":{"109":{"tf":2.0},"121":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.7320508075688772},"180":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"220":{"tf":1.4142135623730951},"221":{"tf":1.0},"233":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"273":{"tf":1.0},"284":{"tf":1.0},"301":{"tf":1.0},"80":{"tf":1.0}}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"156":{"tf":1.0},"167":{"tf":1.0},"189":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.23606797749979},"25":{"tf":1.4142135623730951},"265":{"tf":1.0},"268":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":16,"docs":{"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"160":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0},"243":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"298":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"183":{"tf":1.4142135623730951}}},"y":{"df":4,"docs":{"130":{"tf":1.0},"172":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"b":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"155":{"tf":1.0},"289":{"tf":1.4142135623730951}}}},"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":{"188":{"tf":1.0}}}}}},"df":6,"docs":{"233":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"215":{"tf":1.0},"236":{"tf":1.0},"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":3,"docs":{"157":{"tf":1.0},"256":{"tf":1.0},"275":{"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":{"64":{"tf":1.4142135623730951}}}}}}}}},"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"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":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"206":{"tf":2.0},"245":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"135":{"tf":1.0},"145":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"245":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"168":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.0}}}}}},"1":{"0":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}},"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":{"245":{"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":{"245":{"tf":1.0},"246":{"tf":1.0}}}}}},"a":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":2.449489742783178}}},"b":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":1.4142135623730951}}},"c":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":2.0}}},"df":6,"docs":{"120":{"tf":1.4142135623730951},"168":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"232":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"232":{"tf":2.0}}}},"s":{"df":0,"docs":{},"e":{"df":19,"docs":{"139":{"tf":1.0},"155":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":1.0},"219":{"tf":1.0},"229":{"tf":1.4142135623730951},"236":{"tf":1.0},"254":{"tf":1.0},"271":{"tf":1.4142135623730951},"272":{"tf":1.0},"274":{"tf":1.0},"278":{"tf":1.0},"3":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"h":{"df":1,"docs":{"262":{"tf":1.0}}},"i":{"c":{"df":10,"docs":{"201":{"tf":1.0},"220":{"tf":1.0},"252":{"tf":2.0},"253":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"45":{"tf":1.0}}},"df":1,"docs":{"174":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}},"z":{"df":1,"docs":{"120":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"'":{"df":9,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"222":{"tf":1.7320508075688772},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"268":{"tf":1.0},"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":37,"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},"189":{"tf":1.0},"19":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"196":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"217":{"tf":2.449489742783178},"22":{"tf":1.0},"220":{"tf":1.4142135623730951},"222":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"260":{"tf":1.7320508075688772},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":2.449489742783178},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.4142135623730951},"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":{"179":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"158":{"tf":1.0}},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":13,"docs":{"114":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"154":{"tf":2.0},"155":{"tf":2.449489742783178},"184":{"tf":2.0},"289":{"tf":2.23606797749979},"294":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"97":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":31,"docs":{"131":{"tf":1.0},"182":{"tf":1.4142135623730951},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"213":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.4142135623730951},"259":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.7320508075688772},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}}}},"df":31,"docs":{"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"45":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"156":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"206":{"tf":1.0},"212":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0},"288":{"tf":1.7320508075688772},"50":{"tf":1.0},"64":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"131":{"tf":1.0},"194":{"tf":1.4142135623730951},"25":{"tf":1.0},"260":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"158":{"tf":1.0},"160":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0},"59":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"244":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"107":{"tf":1.0}}},"v":{"df":2,"docs":{"175":{"tf":1.0},"187":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":63,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.4142135623730951},"228":{"tf":1.0},"231":{"tf":1.4142135623730951},"238":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"269":{"tf":1.0},"300":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"242":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"226":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"160":{"tf":1.0},"163":{"tf":1.0},"203":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"277":{"tf":1.0}}}}},"t":{"df":3,"docs":{"153":{"tf":1.0},"172":{"tf":1.0},"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"129":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"231":{"tf":1.0},"269":{"tf":1.0},"93":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":26,"docs":{"107":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.0},"198":{"tf":1.4142135623730951},"202":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"238":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":8,"docs":{"152":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.0},"201":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"236":{"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":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"5":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"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":{"128":{"tf":1.0}}}}},"d":{"df":2,"docs":{"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":8,"docs":{"156":{"tf":1.0},"157":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.7320508075688772},"77":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.7320508075688772}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":27,"docs":{"140":{"tf":1.0},"188":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"221":{"tf":1.0},"23":{"tf":1.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":2.6457513110645907},"245":{"tf":2.8284271247461903},"246":{"tf":2.8284271247461903},"247":{"tf":3.0},"248":{"tf":4.47213595499958},"249":{"tf":2.8284271247461903},"250":{"tf":1.7320508075688772},"251":{"tf":3.3166247903554},"254":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"297":{"tf":3.872983346207417},"3":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"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":{"249":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"248":{"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":{"249":{"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":{"247":{"tf":1.0}}},"w":{"df":1,"docs":{"277":{"tf":1.0}},"n":{"df":1,"docs":{"270":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"273":{"tf":1.0}}}}},"o":{"b":{"df":2,"docs":{"247":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"147":{"tf":1.0},"156":{"tf":1.0},"231":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"237":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"115":{"tf":1.0},"198":{"tf":1.0},"215":{"tf":1.0},"263":{"tf":1.4142135623730951},"4":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"86":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":26,"docs":{"108":{"tf":1.0},"132":{"tf":1.4142135623730951},"156":{"tf":1.0},"173":{"tf":1.4142135623730951},"180":{"tf":1.0},"220":{"tf":1.0},"235":{"tf":1.0},"247":{"tf":1.4142135623730951},"248":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"267":{"tf":1.0},"283":{"tf":2.0},"284":{"tf":2.0},"288":{"tf":2.0},"289":{"tf":1.0},"291":{"tf":4.123105625617661},"293":{"tf":2.449489742783178},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":2.449489742783178},"298":{"tf":5.477225575051661},"300":{"tf":3.1622776601683795},"45":{"tf":1.7320508075688772},"70":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"221":{"tf":1.0}},"h":{"df":20,"docs":{"158":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":2.0},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"208":{"tf":1.0},"212":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"247":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"291":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0},"77":{"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":5,"docs":{"130":{"tf":1.4142135623730951},"186":{"tf":1.0},"263":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"208":{"tf":1.0}}}}},"df":6,"docs":{"101":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"175":{"tf":1.0},"244":{"tf":1.0},"291":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"168":{"tf":1.7320508075688772},"170":{"tf":3.0},"171":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"x":{"df":10,"docs":{"178":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":2.0},"221":{"tf":1.0},"262":{"tf":1.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":{"195":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"195":{"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":{"193":{"tf":1.0},"194":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"199":{"tf":1.0},"49":{"tf":1.7320508075688772},"51":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"108":{"tf":1.0},"110":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"188":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":2,"docs":{"15":{"tf":1.0},"172":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"256":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"107":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"172":{"tf":1.0}},"n":{"df":2,"docs":{"140":{"tf":1.0},"243":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"g":{"df":13,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":1.4142135623730951},"187":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"209":{"tf":1.0},"237":{"tf":1.0},"246":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":3,"docs":{"221":{"tf":3.605551275463989},"243":{"tf":1.0},"252":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"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":{}}}},"i":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"301":{"tf":1.0}}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"25":{"tf":1.0}}}}}},"df":64,"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},"169":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":2.6457513110645907},"190":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":2.0},"196":{"tf":2.449489742783178},"197":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"206":{"tf":1.4142135623730951},"218":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"229":{"tf":1.7320508075688772},"23":{"tf":2.23606797749979},"24":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"259":{"tf":2.6457513110645907},"260":{"tf":3.605551275463989},"261":{"tf":2.0},"262":{"tf":1.7320508075688772},"263":{"tf":3.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.7320508075688772},"266":{"tf":1.7320508075688772},"267":{"tf":2.0},"268":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772},"270":{"tf":2.8284271247461903},"271":{"tf":2.8284271247461903},"272":{"tf":1.7320508075688772},"273":{"tf":2.0},"274":{"tf":1.7320508075688772},"275":{"tf":1.4142135623730951},"276":{"tf":2.0},"277":{"tf":1.7320508075688772},"278":{"tf":1.4142135623730951},"279":{"tf":2.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"286":{"tf":1.0},"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},"48":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"11":{"tf":1.0},"207":{"tf":1.0},"221":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"253":{"tf":1.0},"263":{"tf":1.0},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"80":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":52,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"113":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.4142135623730951},"153":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.0},"184":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0},"254":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.0},"299":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"82":{"tf":2.23606797749979},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"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},"93":{"tf":1.0}}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"189":{"tf":1.4142135623730951},"25":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}}},"z":{"df":0,"docs":{},"z":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"168":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"%":{"df":1,"docs":{"170":{"tf":1.0}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"df":3,"docs":{"168":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772}}}}},"z":{"df":0,"docs":{},"l":{"df":2,"docs":{"270":{"tf":2.0},"271":{"tf":1.0}},"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":{"139":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"11":{"tf":1.0},"190":{"tf":1.0},"196":{"tf":1.4142135623730951},"242":{"tf":2.6457513110645907},"243":{"tf":1.0},"260":{"tf":1.0}},"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":1,"docs":{"243":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"242":{"tf":1.0},"243":{"tf":1.0}}}}}}},"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":{"150":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":68,"docs":{"127":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"142":{"tf":1.7320508075688772},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":2.449489742783178},"165":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.7320508075688772},"175":{"tf":1.0},"176":{"tf":2.8284271247461903},"177":{"tf":3.1622776601683795},"180":{"tf":1.0},"186":{"tf":1.0},"188":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"214":{"tf":1.0},"221":{"tf":1.7320508075688772},"230":{"tf":1.0},"232":{"tf":1.7320508075688772},"233":{"tf":2.6457513110645907},"234":{"tf":1.4142135623730951},"238":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":2.23606797749979},"246":{"tf":2.0},"247":{"tf":1.0},"248":{"tf":2.6457513110645907},"254":{"tf":1.0},"256":{"tf":1.4142135623730951},"257":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.7320508075688772},"291":{"tf":2.449489742783178},"293":{"tf":1.7320508075688772},"298":{"tf":2.8284271247461903},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"153":{"tf":1.7320508075688772},"163":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"153":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":8,"docs":{"102":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"173":{"tf":1.0},"222":{"tf":1.0},"249":{"tf":1.0},"284":{"tf":1.0},"288":{"tf":1.0}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"288":{"tf":4.898979485566356}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"263":{"tf":1.0}}}}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"175":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"252":{"tf":1.0},"272":{"tf":1.0},"280":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"c":{"df":1,"docs":{"291":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":2.0},"149":{"tf":2.23606797749979},"150":{"tf":1.4142135623730951},"241":{"tf":1.7320508075688772}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"267":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"150":{"tf":1.0},"174":{"tf":1.0},"228":{"tf":1.0},"237":{"tf":1.0},"252":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"147":{"tf":1.0}}}}},"s":{"c":{"a":{"d":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":49,"docs":{"108":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":2.23606797749979},"113":{"tf":1.7320508075688772},"124":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":2.449489742783178},"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.0},"196":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":2.0},"221":{"tf":1.0},"224":{"tf":1.4142135623730951},"235":{"tf":1.0},"242":{"tf":1.0},"250":{"tf":1.4142135623730951},"255":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.23606797749979},"36":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.6457513110645907},"68":{"tf":2.6457513110645907},"69":{"tf":3.605551275463989},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"72":{"tf":2.23606797749979},"73":{"tf":4.0},"74":{"tf":3.7416573867739413},"75":{"tf":4.69041575982343},"82":{"tf":1.0}}},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"137":{"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":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"102":{"tf":2.23606797749979},"127":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"177":{"tf":1.0}}}},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{"]":{"df":0,"docs":{},"}":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"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":{"267":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"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":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"267":{"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":{}},"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":2.0},"208":{"tf":1.0},"75":{"tf":1.0}}}},"df":9,"docs":{"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"140":{"tf":1.0},"278":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"147":{"tf":1.0},"177":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"115":{"tf":1.0},"224":{"tf":1.0},"230":{"tf":1.0}}}}}}}},"df":20,"docs":{"139":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":3.1622776601683795},"170":{"tf":1.0},"177":{"tf":1.4142135623730951},"232":{"tf":1.0},"256":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"220":{"tf":1.0},"299":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"176":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"225":{"tf":1.4142135623730951},"226":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.7320508075688772},"282":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"173":{"tf":1.0},"206":{"tf":1.0},"234":{"tf":1.0},"246":{"tf":1.0},"65":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"74":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":24,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0},"190":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.4142135623730951},"280":{"tf":1.0},"291":{"tf":2.0},"293":{"tf":2.449489742783178},"298":{"tf":2.449489742783178},"45":{"tf":1.0},"47":{"tf":1.0},"73":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"209":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"199":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}},"df":7,"docs":{"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"199":{"tf":1.4142135623730951},"203":{"tf":1.0},"300":{"tf":2.23606797749979},"45":{"tf":1.7320508075688772},"49":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"=":{"\\":{"\"":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":22,"docs":{"108":{"tf":2.449489742783178},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"112":{"tf":1.0},"117":{"tf":1.0},"15":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"291":{"tf":1.4142135623730951},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"94":{"tf":1.0},"97":{"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":{"180":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"r":{"df":1,"docs":{"242":{"tf":1.0}}}},"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":{"235":{"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":{"128":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"p":{"df":1,"docs":{"279":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":7,"docs":{"12":{"tf":1.0},"131":{"tf":1.0},"151":{"tf":1.0},"194":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"150":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0}},"n":{"df":4,"docs":{"194":{"tf":1.0},"195":{"tf":1.0},"228":{"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":{"65":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"214":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"v":{"df":2,"docs":{"188":{"tf":1.4142135623730951},"241":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"184":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"133":{"tf":1.0},"185":{"tf":1.0}}}}},"o":{"'":{"df":87,"docs":{"111":{"tf":1.0},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.7320508075688772},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":1.0},"183":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"211":{"tf":1.0},"214":{"tf":1.7320508075688772},"215":{"tf":1.0},"22":{"tf":1.0},"222":{"tf":1.4142135623730951},"228":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.7320508075688772},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":2.0},"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.7320508075688772},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}},"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"278":{"tf":2.0},"279":{"tf":1.4142135623730951},"280":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":20,"docs":{"18":{"tf":1.0},"189":{"tf":1.7320508075688772},"197":{"tf":1.4142135623730951},"206":{"tf":2.0},"215":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.0},"25":{"tf":1.4142135623730951},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"27":{"tf":1.0},"279":{"tf":1.4142135623730951},"281":{"tf":1.0},"30":{"tf":2.23606797749979},"33":{"tf":1.0},"37":{"tf":1.7320508075688772}}},"y":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"212":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":25,"docs":{"18":{"tf":1.0},"189":{"tf":1.0},"195":{"tf":2.0},"196":{"tf":1.0},"199":{"tf":1.0},"204":{"tf":1.7320508075688772},"206":{"tf":2.0},"215":{"tf":1.4142135623730951},"223":{"tf":1.4142135623730951},"224":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"226":{"tf":1.4142135623730951},"227":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":2.0},"267":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"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":5,"docs":{"192":{"tf":1.0},"198":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":179,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"144":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"15":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":2.0},"17":{"tf":1.4142135623730951},"171":{"tf":2.0},"172":{"tf":2.0},"173":{"tf":2.0},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":2.449489742783178},"180":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"189":{"tf":1.0},"19":{"tf":1.0},"190":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"199":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"201":{"tf":1.4142135623730951},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.7320508075688772},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"22":{"tf":1.0},"220":{"tf":2.23606797749979},"221":{"tf":2.23606797749979},"222":{"tf":1.0},"228":{"tf":2.0},"230":{"tf":1.4142135623730951},"231":{"tf":2.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"244":{"tf":1.4142135623730951},"245":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"25":{"tf":1.7320508075688772},"252":{"tf":2.0},"254":{"tf":1.7320508075688772},"257":{"tf":2.23606797749979},"259":{"tf":1.4142135623730951},"260":{"tf":2.449489742783178},"262":{"tf":1.4142135623730951},"263":{"tf":2.449489742783178},"264":{"tf":2.449489742783178},"266":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.4142135623730951},"281":{"tf":1.4142135623730951},"284":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"3":{"tf":1.4142135623730951},"300":{"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.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.7320508075688772},"55":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"94":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":2,"docs":{"293":{"tf":1.4142135623730951},"298":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"’":{"df":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":24,"docs":{"144":{"tf":1.7320508075688772},"145":{"tf":1.0},"146":{"tf":2.23606797749979},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":2.449489742783178},"172":{"tf":1.0},"2":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.7320508075688772},"274":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"83":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"128":{"tf":1.0},"34":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"156":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}},"r":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"115":{"tf":1.0},"258":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"48":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":2.23606797749979}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":8,"docs":{"163":{"tf":1.0},"173":{"tf":1.0},"197":{"tf":1.0},"235":{"tf":1.0},"241":{"tf":1.0},"267":{"tf":1.0},"55":{"tf":1.0},"68":{"tf":1.0}},"r":{"df":1,"docs":{"230":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"147":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":2.23606797749979},"196":{"tf":1.0},"241":{"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":{"150":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"150":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"222":{"tf":1.0}}}}}}}},"m":{"d":{"df":4,"docs":{"262":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"222":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":7,"docs":{"112":{"tf":1.0},"131":{"tf":1.0},"222":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"266":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":68,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":2.0},"137":{"tf":1.4142135623730951},"142":{"tf":1.0},"147":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"2":{"tf":1.0},"205":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"232":{"tf":1.4142135623730951},"237":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"246":{"tf":1.0},"247":{"tf":1.4142135623730951},"259":{"tf":1.4142135623730951},"260":{"tf":2.0},"261":{"tf":2.23606797749979},"262":{"tf":1.0},"263":{"tf":2.23606797749979},"264":{"tf":2.8284271247461903},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":2.23606797749979},"273":{"tf":2.23606797749979},"274":{"tf":3.3166247903554},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"286":{"tf":1.0},"36":{"tf":1.0},"50":{"tf":1.7320508075688772},"6":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"93":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"d":{"df":1,"docs":{"160":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"180":{"tf":1.0},"186":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"222":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"80":{"tf":1.0}},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"188":{"tf":1.0}}},"y":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"180":{"tf":2.449489742783178},"181":{"tf":2.0},"188":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.0},"267":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"126":{"tf":1.0},"83":{"tf":2.23606797749979}},"l":{"df":1,"docs":{"184":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":2,"docs":{"133":{"tf":1.0},"93":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":46,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.4142135623730951},"156":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"178":{"tf":1.0},"181":{"tf":1.0},"221":{"tf":1.0},"269":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.23606797749979},"298":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":2.23606797749979},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"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}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"76":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"79":{"tf":1.0}}},"r":{"df":1,"docs":{"247":{"tf":2.23606797749979}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"175":{"tf":1.0},"222":{"tf":1.0},"25":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":20,"docs":{"138":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"50":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"11":{"tf":1.0},"196":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.4142135623730951},"217":{"tf":1.7320508075688772},"218":{"tf":1.7320508075688772},"219":{"tf":1.7320508075688772},"220":{"tf":2.449489742783178},"25":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":54,"docs":{"155":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"215":{"tf":1.0},"22":{"tf":1.4142135623730951},"242":{"tf":1.0},"247":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"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.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.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.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"115":{"tf":1.4142135623730951},"274":{"tf":1.0},"276":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"157":{"tf":1.0},"169":{"tf":1.0},"291":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.7320508075688772},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"214":{"tf":1.0},"267":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":71,"docs":{"101":{"tf":2.449489742783178},"102":{"tf":2.23606797749979},"103":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":2.0},"131":{"tf":1.0},"133":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":2.449489742783178},"189":{"tf":1.0},"190":{"tf":1.0},"196":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"21":{"tf":1.0},"210":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.0},"239":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"243":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":3.0},"273":{"tf":1.4142135623730951},"280":{"tf":1.0},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"81":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"138":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"172":{"tf":1.4142135623730951},"206":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":2.0},"244":{"tf":2.449489742783178},"252":{"tf":1.0},"258":{"tf":1.0},"260":{"tf":1.0},"288":{"tf":3.872983346207417}}},"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":{"186":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}}},"3":{"7":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":1,"docs":{"186":{"tf":1.0}}},"8":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"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":{"186":{"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":{"(":{"2":{"df":1,"docs":{"186":{"tf":1.0}}},"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":{"df":1,"docs":{"186":{"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":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}}}},"df":1,"docs":{"186":{"tf":3.3166247903554}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":16,"docs":{"107":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"161":{"tf":1.0},"169":{"tf":1.0},"203":{"tf":1.4142135623730951},"209":{"tf":1.0},"221":{"tf":1.0},"242":{"tf":1.0},"259":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.7320508075688772},"280":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":4,"docs":{"174":{"tf":1.0},"242":{"tf":1.0},"271":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"190":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":2.0}}},"s":{"df":5,"docs":{"130":{"tf":1.0},"190":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"232":{"tf":2.449489742783178},"233":{"tf":1.0},"274":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":8,"docs":{"184":{"tf":1.7320508075688772},"269":{"tf":2.0},"270":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":2.23606797749979},"78":{"tf":2.449489742783178},"79":{"tf":2.23606797749979},"80":{"tf":2.449489742783178}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"142":{"tf":1.0},"184":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"255":{"tf":1.0},"293":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"b":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"279":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"173":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":47,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"278":{"tf":1.0},"280":{"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.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"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},"79":{"tf":1.0},"80":{"tf":1.0}},"u":{"df":7,"docs":{"160":{"tf":1.0},"214":{"tf":1.0},"249":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"189":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"244":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"113":{"tf":1.0},"268":{"tf":1.7320508075688772},"270":{"tf":1.0},"66":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"108":{"tf":3.0},"127":{"tf":2.23606797749979},"129":{"tf":1.0},"139":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.4142135623730951},"160":{"tf":1.0},"170":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"198":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"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":{"127":{"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":29,"docs":{"1":{"tf":1.4142135623730951},"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":2.0},"232":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.23606797749979},"237":{"tf":2.449489742783178},"238":{"tf":1.4142135623730951},"239":{"tf":2.0},"240":{"tf":1.4142135623730951},"241":{"tf":1.7320508075688772},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"244":{"tf":2.8284271247461903},"245":{"tf":1.7320508075688772},"246":{"tf":1.4142135623730951},"247":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"250":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"3":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"109":{"tf":1.0},"155":{"tf":1.4142135623730951},"235":{"tf":2.449489742783178},"237":{"tf":1.0},"50":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"235":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"226":{"tf":1.0},"246":{"tf":1.0}}},"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"215":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"212":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"214":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"219":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":2.23606797749979},"212":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"257":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":17,"docs":{"12":{"tf":1.7320508075688772},"175":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"22":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":1.4142135623730951},"244":{"tf":1.0},"254":{"tf":1.0},"259":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0},"300":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"184":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"164":{"tf":1.0},"165":{"tf":1.0},"267":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"187":{"tf":1.0},"267":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"209":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"69":{"tf":1.0}},"s":{"df":3,"docs":{"160":{"tf":1.0},"198":{"tf":1.0},"227":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"274":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"49":{"tf":1.0}}}}},"i":{"d":{"df":13,"docs":{"110":{"tf":1.0},"156":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"214":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"151":{"tf":1.0},"230":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":20,"docs":{"127":{"tf":1.0},"129":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"180":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"258":{"tf":1.0},"45":{"tf":1.0},"92":{"tf":1.0}},"t":{"df":14,"docs":{"119":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"209":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":1.0},"271":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"207":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"148":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"239":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"80":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"121":{"tf":1.0},"188":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"267":{"tf":1.7320508075688772},"83":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":37,"docs":{"114":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":3.0},"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":2.0},"206":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"212":{"tf":1.0},"217":{"tf":1.4142135623730951},"224":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.7320508075688772},"256":{"tf":1.0},"265":{"tf":1.0},"284":{"tf":2.23606797749979},"286":{"tf":1.0},"291":{"tf":2.8284271247461903},"293":{"tf":2.449489742783178},"295":{"tf":1.0},"298":{"tf":1.7320508075688772},"36":{"tf":1.0},"39":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"a":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.0}}}}},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"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":{"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":3,"docs":{"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":27,"docs":{"125":{"tf":1.0},"128":{"tf":1.4142135623730951},"152":{"tf":1.0},"173":{"tf":1.7320508075688772},"178":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.7320508075688772},"198":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"291":{"tf":3.4641016151377544},"293":{"tf":4.0},"298":{"tf":3.4641016151377544},"299":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"99":{"tf":1.0}},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{"\\":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"=":{"\\":{"\"":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"189":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":18,"docs":{"109":{"tf":1.4142135623730951},"135":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"163":{"tf":1.0},"176":{"tf":1.4142135623730951},"187":{"tf":1.0},"230":{"tf":1.0},"242":{"tf":1.0},"245":{"tf":1.0},"247":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}},"u":{"df":3,"docs":{"127":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":9,"docs":{"14":{"tf":1.0},"152":{"tf":1.0},"244":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"32":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"156":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.7320508075688772}}},"(":{"df":1,"docs":{"159":{"tf":1.0}}},"_":{"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":{"193":{"tf":1.0},"195":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":30,"docs":{"127":{"tf":1.0},"156":{"tf":3.3166247903554},"157":{"tf":2.23606797749979},"158":{"tf":2.6457513110645907},"159":{"tf":2.23606797749979},"160":{"tf":1.7320508075688772},"161":{"tf":3.0},"162":{"tf":2.449489742783178},"163":{"tf":2.6457513110645907},"164":{"tf":3.1622776601683795},"165":{"tf":3.3166247903554},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":2.23606797749979},"172":{"tf":1.0},"173":{"tf":2.23606797749979},"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.7320508075688772},"177":{"tf":2.449489742783178},"192":{"tf":1.4142135623730951},"267":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"243":{"tf":1.0},"258":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":3,"docs":{"165":{"tf":1.0},"208":{"tf":1.0},"261":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":44,"docs":{"109":{"tf":1.0},"151":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"221":{"tf":1.4142135623730951},"222":{"tf":1.4142135623730951},"237":{"tf":1.0},"239":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"275":{"tf":1.0},"50":{"tf":2.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.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.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},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":21,"docs":{"117":{"tf":1.0},"163":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"203":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"254":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"265":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"49":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"t":{"df":3,"docs":{"194":{"tf":1.4142135623730951},"210":{"tf":1.0},"25":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"122":{"tf":1.0}}},"t":{"df":9,"docs":{"239":{"tf":1.0},"240":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"27":{"tf":1.0},"271":{"tf":1.0},"301":{"tf":1.0}}}},"y":{"df":1,"docs":{"180":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"64":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"231":{"tf":1.0}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"209":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":30,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.0},"178":{"tf":3.1622776601683795},"179":{"tf":2.8284271247461903},"180":{"tf":3.1622776601683795},"181":{"tf":2.23606797749979},"182":{"tf":2.0},"183":{"tf":3.1622776601683795},"184":{"tf":4.123105625617661},"185":{"tf":2.23606797749979},"186":{"tf":3.1622776601683795},"187":{"tf":2.8284271247461903},"188":{"tf":1.7320508075688772},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.0},"270":{"tf":1.0},"284":{"tf":1.4142135623730951},"29":{"tf":1.0},"293":{"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},"80":{"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":{"179":{"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":{"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":{}}},"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":{"184":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"1":{"df":1,"docs":{"187":{"tf":1.0}}},"df":1,"docs":{"178":{"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":{"80":{"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":{"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"188":{"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":8,"docs":{"210":{"tf":1.0},"222":{"tf":1.0},"231":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"275":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"124":{"tf":1.0},"133":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"257":{"tf":1.4142135623730951},"260":{"tf":1.0},"69":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"186":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"132":{"tf":1.0},"195":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":1.0},"288":{"tf":1.7320508075688772},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"244":{"tf":1.0},"272":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"244":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"270":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"155":{"tf":1.0},"300":{"tf":1.0},"63":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"134":{"tf":1.0},"198":{"tf":1.7320508075688772},"207":{"tf":1.0},"228":{"tf":1.0},"256":{"tf":1.0},"276":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":24,"docs":{"118":{"tf":1.0},"129":{"tf":1.0},"150":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"261":{"tf":1.4142135623730951},"270":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"282":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"73":{"tf":1.0},"82":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":3,"docs":{"230":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":30,"docs":{"140":{"tf":1.0},"150":{"tf":1.0},"158":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.0},"188":{"tf":1.0},"199":{"tf":1.0},"203":{"tf":1.0},"214":{"tf":1.0},"231":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.0},"277":{"tf":1.0},"288":{"tf":2.8284271247461903},"29":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"296":{"tf":1.0},"301":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"284":{"tf":1.0},"295":{"tf":1.0}}}},"_":{"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":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"36":{"tf":1.0}}}}},"l":{"df":1,"docs":{"256":{"tf":1.0}},"i":{"df":5,"docs":{"199":{"tf":1.0},"49":{"tf":2.23606797749979},"51":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"186":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":52,"docs":{"102":{"tf":1.0},"110":{"tf":1.0},"112":{"tf":1.0},"13":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.4142135623730951},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"258":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.0},"292":{"tf":1.0},"293":{"tf":3.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"39":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":12,"docs":{"115":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.7320508075688772},"180":{"tf":1.0},"186":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"277":{"tf":1.0}}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"3":{"df":0,"docs":{},"q":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"y":{"6":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"9":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"231":{"tf":2.0},"232":{"tf":1.0},"236":{"tf":1.0},"3":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":2.449489742783178}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"a":{"b":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"209":{"tf":1.0},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":54,"docs":{"111":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"122":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":2.449489742783178},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"182":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":2.8284271247461903},"188":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"211":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":2.23606797749979},"232":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":2.8284271247461903},"238":{"tf":3.0},"239":{"tf":2.449489742783178},"240":{"tf":2.23606797749979},"241":{"tf":2.23606797749979},"242":{"tf":2.23606797749979},"243":{"tf":1.7320508075688772},"244":{"tf":1.0},"251":{"tf":1.0},"257":{"tf":2.0},"3":{"tf":1.0},"4":{"tf":2.23606797749979},"65":{"tf":2.8284271247461903},"70":{"tf":2.0},"71":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}},"b":{"df":3,"docs":{"209":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.0}}},"df":2,"docs":{"158":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":11,"docs":{"230":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":2.449489742783178},"245":{"tf":1.0},"246":{"tf":2.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}}}},"b":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"172":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"189":{"tf":1.0},"48":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"133":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"261":{"tf":1.0},"274":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":6,"docs":{"150":{"tf":1.0},"175":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"274":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":72,"docs":{"103":{"tf":2.0},"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"109":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":2.23606797749979},"118":{"tf":1.0},"120":{"tf":2.0},"121":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.4142135623730951},"17":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"188":{"tf":2.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"192":{"tf":1.0},"195":{"tf":1.0},"198":{"tf":1.4142135623730951},"199":{"tf":1.7320508075688772},"203":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":2.0},"213":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":2.0},"224":{"tf":1.0},"228":{"tf":1.0},"232":{"tf":1.0},"236":{"tf":1.0},"248":{"tf":1.0},"25":{"tf":1.4142135623730951},"251":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":1.0},"286":{"tf":1.0},"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},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"83":{"tf":2.6457513110645907},"87":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"220":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"190":{"tf":1.0},"279":{"tf":1.0},"64":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":10,"docs":{"169":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.7320508075688772},"182":{"tf":1.0},"222":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"86":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"267":{"tf":1.4142135623730951},"275":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":8,"docs":{"181":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"239":{"tf":2.23606797749979},"240":{"tf":2.0},"64":{"tf":1.0},"86":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"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":{"274":{"tf":1.7320508075688772},"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"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":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":38,"docs":{"188":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"215":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.4142135623730951},"227":{"tf":1.0},"231":{"tf":1.4142135623730951},"236":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.7320508075688772},"281":{"tf":2.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.7320508075688772},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"3":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.7320508075688772},"69":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"293":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"270":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"175":{"tf":1.4142135623730951},"246":{"tf":1.4142135623730951},"248":{"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":{"248":{"tf":1.4142135623730951}}}},"df":1,"docs":{"248":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":86,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"120":{"tf":1.7320508075688772},"121":{"tf":2.0},"122":{"tf":2.23606797749979},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"181":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":2.449489742783178},"191":{"tf":1.4142135623730951},"192":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.7320508075688772},"198":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.4142135623730951},"204":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":2.449489742783178},"207":{"tf":2.23606797749979},"208":{"tf":1.7320508075688772},"209":{"tf":1.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"223":{"tf":1.4142135623730951},"23":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.0},"243":{"tf":2.449489742783178},"244":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.0},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":45,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":2.449489742783178},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"163":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":2.0},"195":{"tf":1.0},"200":{"tf":2.0},"201":{"tf":2.6457513110645907},"202":{"tf":1.4142135623730951},"203":{"tf":1.0},"204":{"tf":1.7320508075688772},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"221":{"tf":1.4142135623730951},"234":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"250":{"tf":1.4142135623730951},"253":{"tf":1.7320508075688772},"254":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"299":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"75":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"244":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"288":{"tf":2.6457513110645907},"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"153":{"tf":1.0},"288":{"tf":2.449489742783178}}},"t":{"df":2,"docs":{"11":{"tf":1.0},"142":{"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":10,"docs":{"15":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"215":{"tf":1.0},"221":{"tf":1.0},"26":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":30,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":2.23606797749979},"206":{"tf":1.0},"212":{"tf":1.0},"243":{"tf":1.0},"252":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"259":{"tf":1.0},"260":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.4142135623730951},"280":{"tf":1.4142135623730951},"33":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.7320508075688772}}}}}}}},"p":{"df":21,"docs":{"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.7320508075688772},"212":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"246":{"tf":1.0},"248":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.7320508075688772},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":49,"docs":{"11":{"tf":1.0},"160":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":2.449489742783178},"196":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":2.0},"209":{"tf":1.0},"21":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":2.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.4142135623730951},"224":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.4142135623730951},"228":{"tf":2.449489742783178},"229":{"tf":2.8284271247461903},"23":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.0},"256":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"271":{"tf":2.23606797749979},"272":{"tf":1.0},"273":{"tf":1.0},"281":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"42":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":5,"docs":{"189":{"tf":1.0},"218":{"tf":1.7320508075688772},"244":{"tf":1.0},"263":{"tf":1.0},"33":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"241":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":2.0}},"e":{"<":{"df":1,"docs":{"284":{"tf":1.0}},"t":{"df":1,"docs":{"284":{"tf":5.0990195135927845}}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"284":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"187":{"tf":1.0},"219":{"tf":1.4142135623730951},"263":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":14,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"176":{"tf":1.0},"185":{"tf":1.0},"209":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":35,"docs":{"107":{"tf":1.0},"150":{"tf":1.7320508075688772},"151":{"tf":1.0},"153":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"2":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":8,"docs":{"107":{"tf":1.0},"153":{"tf":1.0},"180":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"79":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":17,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"279":{"tf":1.0},"280":{"tf":1.7320508075688772},"291":{"tf":1.0},"86":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"101":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"166":{"tf":1.0},"175":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.4142135623730951},"235":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.4142135623730951},"259":{"tf":1.0},"288":{"tf":1.0},"45":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"219":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":19,"docs":{"115":{"tf":1.0},"13":{"tf":1.0},"175":{"tf":1.0},"209":{"tf":2.0},"213":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.4142135623730951},"25":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"3":{"tf":1.4142135623730951},"33":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"9":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"tf":1.0}}}},"df":0,"docs":{}},"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":{"231":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"163":{"tf":1.0},"173":{"tf":1.0},"207":{"tf":1.4142135623730951},"279":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"214":{"tf":1.4142135623730951},"271":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":26,"docs":{"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"175":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.0},"215":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"231":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"268":{"tf":1.0},"273":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"298":{"tf":1.0},"46":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":5,"docs":{"173":{"tf":1.0},"178":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":22,"docs":{"151":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"184":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"188":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.0},"252":{"tf":1.0},"5":{"tf":1.0},"65":{"tf":1.4142135623730951},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":36,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"158":{"tf":1.0},"165":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.23606797749979},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"215":{"tf":1.0},"228":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.4142135623730951},"25":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.4142135623730951},"265":{"tf":1.0},"273":{"tf":1.4142135623730951},"279":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":2.449489742783178},"293":{"tf":2.0},"298":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"15":{"tf":1.0},"225":{"tf":1.0},"226":{"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":{"127":{"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":{"184":{"tf":1.0}}}}}}},"<":{"a":{",":{"b":{">":{"(":{"a":{"df":1,"docs":{"184":{"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":2,"docs":{"227":{"tf":1.7320508075688772},"247":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":13,"docs":{"160":{"tf":2.23606797749979},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"167":{"tf":2.23606797749979},"168":{"tf":1.0},"169":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":2.8284271247461903},"267":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"t":{"df":2,"docs":{"168":{"tf":2.0},"171":{"tf":2.0}}}},"df":1,"docs":{"170":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"115":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"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":{"115":{"tf":1.4142135623730951},"124":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"169":{"tf":1.4142135623730951},"190":{"tf":1.0},"228":{"tf":1.0},"260":{"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":{"112":{"tf":1.0},"122":{"tf":1.0},"183":{"tf":1.0}}}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"169":{"tf":1.0},"228":{"tf":1.0},"280":{"tf":1.0}}},"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":{"234":{"tf":1.0}}}}}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"232":{"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":{"232":{"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":{"232":{"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":{"232":{"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":{"246":{"tf":1.0},"248":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"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":3,"docs":{"173":{"tf":1.0},"222":{"tf":1.0},"263":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"262":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":20,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.4142135623730951},"301":{"tf":1.0},"36":{"tf":1.0}}}}}}}},"df":5,"docs":{"153":{"tf":1.0},"205":{"tf":1.0},"227":{"tf":1.0},"254":{"tf":1.0},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":20,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"229":{"tf":1.0},"238":{"tf":1.0},"255":{"tf":1.0},"258":{"tf":1.0},"266":{"tf":1.0},"83":{"tf":1.0},"99":{"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":{"232":{"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":{"232":{"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":{"232":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"267":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"267":{"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":8,"docs":{"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":2.23606797749979}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"153":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"277":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":36,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"148":{"tf":1.0},"166":{"tf":1.0},"204":{"tf":1.4142135623730951},"207":{"tf":1.0},"214":{"tf":1.0},"223":{"tf":1.0},"227":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.0},"255":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.4142135623730951},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":17,"docs":{"11":{"tf":1.0},"156":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"193":{"tf":1.0},"2":{"tf":1.4142135623730951},"207":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.4142135623730951},"7":{"tf":1.0},"78":{"tf":1.0}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"188":{"tf":1.0},"209":{"tf":1.0},"243":{"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":{"234":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"105":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"109":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"122":{"tf":1.0},"124":{"tf":1.7320508075688772},"262":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":2.23606797749979},"294":{"tf":4.0},"296":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"81":{"tf":1.0}},"e":{"d":{"(":{"1":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"296":{"tf":1.0}}}}}}}}}}}}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":10,"docs":{"237":{"tf":1.0},"25":{"tf":1.0},"256":{"tf":1.0},"263":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"215":{"tf":1.0},"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":13,"docs":{"17":{"tf":1.0},"194":{"tf":1.4142135623730951},"198":{"tf":1.0},"201":{"tf":2.0},"203":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"240":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"269":{"tf":1.0},"34":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"152":{"tf":1.0},"164":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":9,"docs":{"154":{"tf":1.7320508075688772},"230":{"tf":1.0},"244":{"tf":1.0},"256":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"291":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"112":{"tf":1.0},"244":{"tf":1.0},"288":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"299":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":12,"docs":{"247":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"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":{"184":{"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":{"184":{"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":3,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"288":{"tf":2.449489742783178}}}}},"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":{"184":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"160":{"tf":1.0},"214":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"276":{"tf":1.0},"33":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":18,"docs":{"131":{"tf":1.0},"137":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":2.0},"168":{"tf":1.0},"169":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":2.6457513110645907},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"50":{"tf":1.0},"80":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"7":{"_":{"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":{"172":{"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":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":13,"docs":{"130":{"tf":1.0},"151":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.0},"238":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.0},"264":{"tf":1.4142135623730951},"271":{"tf":1.0},"36":{"tf":1.0},"83":{"tf":1.0}}}},"1":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},">":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":42,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"15":{"tf":1.0},"156":{"tf":1.4142135623730951},"160":{"tf":1.7320508075688772},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"187":{"tf":1.0},"189":{"tf":1.0},"216":{"tf":1.0},"223":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"234":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.0},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.7320508075688772},"298":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"213":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"153":{"tf":1.0},"282":{"tf":1.0},"53":{"tf":1.7320508075688772},"61":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":9,"docs":{"101":{"tf":1.0},"174":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"203":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"217":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"221":{"tf":1.0},"231":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0},"63":{"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":4,"docs":{"107":{"tf":1.0},"243":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0}}}}}}}}}},"df":10,"docs":{"155":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"165":{"tf":2.8284271247461903},"168":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.0},"142":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"182":{"tf":1.0},"213":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"247":{"tf":1.0},"256":{"tf":1.0},"271":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.7320508075688772},"65":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"101":{"tf":1.0},"183":{"tf":1.0},"252":{"tf":1.0},"257":{"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":{"184":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":11,"docs":{"161":{"tf":1.7320508075688772},"162":{"tf":1.4142135623730951},"164":{"tf":2.23606797749979},"165":{"tf":2.6457513110645907},"168":{"tf":1.0},"184":{"tf":1.0},"284":{"tf":2.0},"291":{"tf":2.8284271247461903},"298":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"155":{"tf":2.0},"164":{"tf":1.0},"173":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"291":{"tf":5.916079783099616},"298":{"tf":4.358898943540674},"55":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":2.6457513110645907}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"165":{"tf":1.0},"183":{"tf":1.0},"263":{"tf":1.4142135623730951},"64":{"tf":1.0},"8":{"tf":1.0}}}}}}},"m":{"b":{"df":1,"docs":{"261":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"220":{"tf":1.0},"81":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"242":{"tf":1.0}},"e":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":11,"docs":{"130":{"tf":1.0},"136":{"tf":1.4142135623730951},"204":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"291":{"tf":2.0},"293":{"tf":1.0},"298":{"tf":1.0},"60":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":21,"docs":{"122":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"183":{"tf":1.0},"21":{"tf":1.4142135623730951},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"241":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"271":{"tf":1.0},"288":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"9":{"tf":1.0},"93":{"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":{"140":{"tf":1.0},"190":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"d":{"df":20,"docs":{"116":{"tf":1.0},"134":{"tf":1.0},"157":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"172":{"tf":1.0},"181":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"231":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951},"280":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"113":{"tf":1.0},"250":{"tf":1.0},"265":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":23,"docs":{"110":{"tf":1.7320508075688772},"147":{"tf":1.0},"172":{"tf":1.0},"186":{"tf":1.0},"199":{"tf":1.0},"209":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"235":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"265":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"301":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"254":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"221":{"tf":1.7320508075688772},"253":{"tf":1.4142135623730951},"254":{"tf":1.4142135623730951},"255":{"tf":3.1622776601683795},"256":{"tf":1.0},"261":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"255":{"tf":1.0}},"s":{":":{":":{"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":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}},"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":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"194":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"222":{"tf":1.7320508075688772},"238":{"tf":1.0},"244":{"tf":1.0},"271":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"274":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"280":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"131":{"tf":1.0},"173":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":41,"docs":{"119":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"255":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.4142135623730951},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0}},"e":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"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":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"155":{"tf":1.0},"156":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":23,"docs":{"108":{"tf":1.0},"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"169":{"tf":1.0},"179":{"tf":1.0},"187":{"tf":1.0},"196":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.0},"220":{"tf":1.0},"225":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.4142135623730951},"243":{"tf":1.0},"244":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"31":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"242":{"tf":1.0},"293":{"tf":3.1622776601683795},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"98":{"tf":2.23606797749979}}},"y":{"'":{"df":1,"docs":{"293":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"98":{"tf":1.0}}},"1":{"df":1,"docs":{"98":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"113":{"tf":2.0}}}},"v":{"df":2,"docs":{"215":{"tf":1.7320508075688772},"219":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"215":{"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":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"112":{"tf":1.0},"140":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.4142135623730951},"83":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"117":{"tf":2.0},"118":{"tf":1.0},"119":{"tf":1.0},"220":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951}}}},"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":5,"docs":{"175":{"tf":1.0},"208":{"tf":1.0},"257":{"tf":1.0},"271":{"tf":1.0},"80":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"175":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"249":{"tf":1.0}},"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":{"162":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"299":{"tf":1.0}}}}},"t":{"df":3,"docs":{"152":{"tf":1.0},"201":{"tf":1.0},"299":{"tf":1.0}}}},"df":49,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"122":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":2.0},"130":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"151":{"tf":2.8284271247461903},"152":{"tf":2.0},"153":{"tf":3.4641016151377544},"154":{"tf":2.449489742783178},"159":{"tf":2.23606797749979},"161":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"189":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.7320508075688772},"244":{"tf":1.7320508075688772},"246":{"tf":1.4142135623730951},"248":{"tf":2.0},"249":{"tf":2.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"69":{"tf":2.0},"73":{"tf":2.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"81":{"tf":2.0},"92":{"tf":1.4142135623730951}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"187":{"tf":1.0},"93":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"148":{"tf":1.0},"171":{"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":{"183":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":3,"docs":{"198":{"tf":1.0},"260":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":36,"docs":{"112":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"160":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"252":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"244":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"75":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"199":{"tf":1.0},"229":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"209":{"tf":1.0},"90":{"tf":1.0}}}}}},"x":{"1":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.0},"262":{"tf":1.4142135623730951}}}}}}},"_":{"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":6,"docs":{"203":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.4142135623730951},"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"189":{"tf":1.0},"262":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}},"df":9,"docs":{"206":{"tf":3.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.4142135623730951},"219":{"tf":1.0},"221":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0}}},"4":{".":{"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":{"204":{"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":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"df":1,"docs":{"197":{"tf":1.0}}},"2":{"df":1,"docs":{"197":{"tf":1.0}}},"5":{"df":1,"docs":{"197":{"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":{"197":{"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":{"197":{"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":{"197":{"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":{"197":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"183":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"228":{"tf":1.0},"266":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":16,"docs":{"129":{"tf":1.0},"132":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"198":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":110,"docs":{"101":{"tf":1.4142135623730951},"110":{"tf":2.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.7320508075688772},"120":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"138":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":2.0},"16":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"197":{"tf":2.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.7320508075688772},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.4142135623730951},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.4142135623730951},"220":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"247":{"tf":1.0},"254":{"tf":1.4142135623730951},"257":{"tf":1.0},"261":{"tf":1.4142135623730951},"263":{"tf":2.0},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":2.23606797749979},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":1.0},"293":{"tf":1.4142135623730951},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}},"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":7,"docs":{"192":{"tf":1.0},"195":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"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":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":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}}},"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":{"91":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"151":{"tf":1.4142135623730951},"234":{"tf":1.0},"300":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"264":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"204":{"tf":1.0},"237":{"tf":1.0},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"296":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":1,"docs":{"197":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":27,"docs":{"189":{"tf":1.0},"197":{"tf":1.7320508075688772},"211":{"tf":1.0},"213":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.4142135623730951},"22":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"235":{"tf":2.23606797749979},"239":{"tf":2.0},"244":{"tf":2.0},"25":{"tf":2.449489742783178},"259":{"tf":1.0},"260":{"tf":1.7320508075688772},"263":{"tf":2.449489742783178},"27":{"tf":1.0},"288":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"239":{"tf":1.0},"244":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"69":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"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":{"74":{"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":{"75":{"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":12,"docs":{"122":{"tf":1.0},"156":{"tf":1.4142135623730951},"194":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"242":{"tf":1.0},"293":{"tf":1.0},"30":{"tf":1.0},"69":{"tf":1.4142135623730951},"83":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.0}}}},"t":{"df":3,"docs":{"53":{"tf":1.7320508075688772},"61":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"262":{"tf":2.23606797749979},"263":{"tf":1.0}}}}}}}},"df":4,"docs":{"194":{"tf":1.0},"219":{"tf":1.0},"262":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"119":{"tf":1.0},"281":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":42,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"164":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"220":{"tf":1.0},"235":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"254":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0}},"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":{"175":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"184":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"3":{"tf":1.0}}},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"242":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"199":{"tf":1.0}}}},"n":{"df":3,"docs":{"126":{"tf":1.0},"264":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":23,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.7320508075688772},"133":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"281":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"78":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":47,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"192":{"tf":1.0},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"201":{"tf":1.0},"204":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.0},"217":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"243":{"tf":1.0},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"252":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.7320508075688772},"279":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"80":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":23,"docs":{"152":{"tf":1.0},"189":{"tf":1.0},"192":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":2.23606797749979},"200":{"tf":1.0},"201":{"tf":2.23606797749979},"202":{"tf":2.449489742783178},"203":{"tf":2.0},"204":{"tf":1.7320508075688772},"209":{"tf":1.0},"210":{"tf":1.7320508075688772},"214":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.7320508075688772},"229":{"tf":2.0},"243":{"tf":1.4142135623730951},"266":{"tf":2.0},"267":{"tf":2.6457513110645907},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"s":{"df":13,"docs":{"183":{"tf":1.0},"189":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"242":{"tf":1.0},"284":{"tf":1.0},"286":{"tf":1.0},"300":{"tf":1.0}}}},"r":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":22,"docs":{"102":{"tf":1.0},"114":{"tf":1.0},"119":{"tf":1.0},"135":{"tf":1.7320508075688772},"139":{"tf":1.7320508075688772},"142":{"tf":1.0},"145":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"240":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.4142135623730951},"274":{"tf":1.0},"48":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"220":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"24":{"tf":1.0},"270":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":1.0},"21":{"tf":1.0},"243":{"tf":1.0},"271":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"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":{"229":{"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":4,"docs":{"198":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":2.0},"80":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":17,"docs":{"178":{"tf":1.0},"198":{"tf":1.0},"210":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"277":{"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":{"50":{"tf":1.0}}}},"f":{"(":{"0":{"df":1,"docs":{"149":{"tf":1.0}}},"1":{"df":1,"docs":{"149":{"tf":1.0}}},"5":{"df":1,"docs":{"149":{"tf":1.4142135623730951}}},"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"197":{"tf":1.0}}},"2":{"df":1,"docs":{"197":{"tf":1.4142135623730951}}},"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"t":{"df":16,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"231":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"155":{"tf":1.0},"199":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.0},"272":{"tf":1.0},"273":{"tf":2.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"151":{"tf":1.0},"244":{"tf":1.4142135623730951},"254":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"288":{"tf":2.0},"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"151":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"208":{"tf":1.0},"213":{"tf":1.0},"258":{"tf":1.0},"276":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"244":{"tf":1.0},"252":{"tf":1.0},"277":{"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":{"66":{"tf":1.0}}}}}}}}}},"s":{"df":15,"docs":{"132":{"tf":1.4142135623730951},"180":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"291":{"tf":3.0},"293":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"169":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"167":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}},"df":8,"docs":{"131":{"tf":1.0},"161":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"224":{"tf":1.0},"237":{"tf":1.0},"275":{"tf":1.4142135623730951},"93":{"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":{"147":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":4,"docs":{"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772}}}}}}}}}}}}}}},"df":7,"docs":{"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"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":21,"docs":{"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.7320508075688772},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"244":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":25,"docs":{"114":{"tf":1.0},"138":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"222":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"243":{"tf":1.4142135623730951},"249":{"tf":1.0},"252":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"273":{"tf":1.0},"275":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":7,"docs":{"131":{"tf":1.4142135623730951},"168":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"280":{"tf":1.0}}},"t":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"w":{"df":9,"docs":{"140":{"tf":1.0},"183":{"tf":1.0},"232":{"tf":1.4142135623730951},"237":{"tf":1.0},"268":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0}}}},"i":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"272":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"a":{"df":1,"docs":{"203":{"tf":1.0}}},"b":{"df":1,"docs":{"203":{"tf":1.0}}},"df":8,"docs":{"104":{"tf":1.0},"105":{"tf":1.7320508075688772},"118":{"tf":1.0},"187":{"tf":1.0},"201":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"288":{"tf":1.0}}}},"g":{"df":188,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"158":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":1.7320508075688772},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":2.23606797749979},"173":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.4142135623730951},"199":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":2.6457513110645907},"207":{"tf":2.23606797749979},"209":{"tf":1.7320508075688772},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"219":{"tf":1.7320508075688772},"221":{"tf":1.7320508075688772},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":2.6457513110645907},"229":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.4142135623730951},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"251":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.7320508075688772},"26":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.7320508075688772},"266":{"tf":1.4142135623730951},"267":{"tf":2.23606797749979},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"272":{"tf":2.0},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":2.23606797749979},"281":{"tf":1.4142135623730951},"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},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"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.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"261":{"tf":1.0}}},"(":{"df":2,"docs":{"199":{"tf":1.0},"263":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"286":{"tf":1.0}}}}}},"df":60,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":3.872983346207417},"19":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.7320508075688772},"195":{"tf":1.0},"196":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"212":{"tf":2.23606797749979},"213":{"tf":1.7320508075688772},"214":{"tf":1.4142135623730951},"223":{"tf":1.4142135623730951},"228":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.4142135623730951},"243":{"tf":1.0},"25":{"tf":2.0},"257":{"tf":1.0},"259":{"tf":1.0},"26":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":2.0},"262":{"tf":2.0},"263":{"tf":2.23606797749979},"264":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.7320508075688772},"270":{"tf":2.449489742783178},"271":{"tf":1.4142135623730951},"273":{"tf":2.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"29":{"tf":1.4142135623730951},"299":{"tf":1.0},"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},"91":{"tf":1.0},"99":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"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":5,"docs":{"189":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0},"27":{"tf":1.4142135623730951}},"i":{"c":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"286":{"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":{}}},"l":{"df":2,"docs":{"270":{"tf":1.0},"271":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"248":{"tf":1.4142135623730951}}}},"<":{"a":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"156":{"tf":1.0},"289":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"156":{"tf":1.0},"248":{"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":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"155":{"tf":2.0},"247":{"tf":1.7320508075688772},"248":{"tf":1.0},"251":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":17,"docs":{"148":{"tf":1.0},"170":{"tf":1.7320508075688772},"189":{"tf":1.0},"206":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"d":{"df":31,"docs":{"101":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"227":{"tf":1.0},"25":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"81":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"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":{"83":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"83":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"172":{"tf":1.0},"222":{"tf":1.0},"279":{"tf":1.0},"85":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"130":{"tf":1.0},"184":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"130":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"173":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":55,"docs":{"11":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"144":{"tf":1.7320508075688772},"145":{"tf":1.0},"146":{"tf":2.23606797749979},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"172":{"tf":1.4142135623730951},"184":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.4142135623730951},"214":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.4142135623730951},"230":{"tf":1.0},"231":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.7320508075688772},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"256":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":2.0},"288":{"tf":1.7320508075688772},"29":{"tf":1.0},"291":{"tf":2.6457513110645907},"298":{"tf":3.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},"64":{"tf":1.0},"66":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.7320508075688772}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"x":{"df":17,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"124":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"244":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":12,"docs":{"189":{"tf":1.0},"20":{"tf":1.0},"215":{"tf":3.872983346207417},"216":{"tf":2.0},"217":{"tf":2.0},"218":{"tf":2.0},"219":{"tf":3.1622776601683795},"22":{"tf":1.0},"220":{"tf":3.1622776601683795},"229":{"tf":1.0},"271":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"221":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"163":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"275":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"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":7,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"203":{"tf":1.0},"287":{"tf":2.23606797749979},"294":{"tf":4.0},"296":{"tf":1.0},"45":{"tf":2.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"w":{"df":34,"docs":{"109":{"tf":1.4142135623730951},"151":{"tf":1.0},"239":{"tf":1.0},"50":{"tf":2.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.4142135623730951},"65":{"tf":2.6457513110645907},"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},"79":{"tf":1.0},"80":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"n":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"155":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"114":{"tf":1.0},"150":{"tf":1.4142135623730951},"155":{"tf":1.0},"289":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":64,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.4142135623730951},"194":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"217":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"233":{"tf":1.0},"236":{"tf":1.0},"243":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"252":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"266":{"tf":1.0},"273":{"tf":1.0},"277":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.7320508075688772},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"o":{"(":{"%":{"df":1,"docs":{"170":{"tf":1.4142135623730951}}},"1":{"2":{"3":{"4":{"df":4,"docs":{"168":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0}}},"5":{"6":{"6":{"7":{"8":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}},"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":{"df":1,"docs":{"181":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"181":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"156":{"tf":1.0}}},"a":{"df":1,"docs":{"232":{"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":{"139":{"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":{"75":{"tf":4.795831523312719}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":1.0},"188":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"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":{"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"75":{"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":{"193":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"{":{"a":{"df":1,"docs":{"75":{"tf":3.872983346207417}}},"df":0,"docs":{}}},".":{"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":{"286":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"286":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}}},"a":{">":{"(":{"a":{"df":1,"docs":{"139":{"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":{"75":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"181":{"tf":1.0},"188":{"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":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"181":{"tf":2.23606797749979},"188":{"tf":1.7320508075688772},"75":{"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":{"181":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"a":{"df":1,"docs":{"232":{"tf":2.23606797749979}}},"b":{"df":1,"docs":{"232":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"232":{"tf":2.449489742783178}}},"df":19,"docs":{"120":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"188":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":2.8284271247461903},"197":{"tf":1.4142135623730951},"232":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"245":{"tf":1.0},"286":{"tf":1.0},"36":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"93":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"245":{"tf":1.0}}}},"df":1,"docs":{"234":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"232":{"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":{"60":{"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":4,"docs":{"103":{"tf":1.0},"214":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0}}}}},"df":2,"docs":{"242":{"tf":1.0},"248":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":7,"docs":{"140":{"tf":1.0},"173":{"tf":1.0},"201":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"243":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}},"t":{"df":8,"docs":{"142":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"257":{"tf":2.23606797749979},"258":{"tf":1.4142135623730951},"261":{"tf":1.0},"48":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951}}}},"df":15,"docs":{"114":{"tf":1.0},"158":{"tf":1.0},"193":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"182":{"tf":1.0},"188":{"tf":1.0},"207":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"265":{"tf":1.0},"45":{"tf":1.0},"7":{"tf":1.0}}}},"df":22,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.6457513110645907},"172":{"tf":1.0},"183":{"tf":1.0},"220":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"270":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"264":{"tf":1.0},"289":{"tf":1.7320508075688772}}},"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":8,"docs":{"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"236":{"tf":1.0},"252":{"tf":1.4142135623730951},"271":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"244":{"tf":1.0}}},"df":25,"docs":{"148":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"236":{"tf":1.4142135623730951},"237":{"tf":1.7320508075688772},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.449489742783178},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"263":{"tf":1.0},"280":{"tf":1.0},"3":{"tf":1.4142135623730951},"39":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"201":{"tf":1.0},"207":{"tf":1.0},"223":{"tf":1.0},"238":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"140":{"tf":1.0}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"221":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"(":{"c":{"df":2,"docs":{"199":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"188":{"tf":1.0},"209":{"tf":1.0},"243":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"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":1,"docs":{"271":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":17,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"144":{"tf":1.0},"173":{"tf":2.0},"206":{"tf":1.0},"207":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"270":{"tf":1.0},"280":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":16,"docs":{"115":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"195":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"155":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.0}}}}},"t":{"df":1,"docs":{"159":{"tf":1.0}}}},"a":{"df":2,"docs":{"156":{"tf":1.0},"289":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"145":{"tf":1.0},"246":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951}}}}},"k":{"df":1,"docs":{"293":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"t":{"df":5,"docs":{"247":{"tf":1.4142135623730951},"248":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"298":{"tf":1.0}}},"|":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"177":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951}}}}}},"b":{"df":2,"docs":{"155":{"tf":1.0},"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0}}}}},"k":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}},"t":{"df":1,"docs":{"291":{"tf":1.0}}},"v":{"df":1,"docs":{"293":{"tf":1.0}}}}},"df":97,"docs":{"110":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"134":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":2.449489742783178},"141":{"tf":2.0},"144":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":1.4142135623730951},"155":{"tf":2.0},"156":{"tf":3.605551275463989},"157":{"tf":1.0},"158":{"tf":1.7320508075688772},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":2.8284271247461903},"165":{"tf":3.1622776601683795},"168":{"tf":2.0},"171":{"tf":2.0},"172":{"tf":1.4142135623730951},"173":{"tf":3.1622776601683795},"175":{"tf":2.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"190":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.7320508075688772},"194":{"tf":1.0},"199":{"tf":1.4142135623730951},"202":{"tf":2.23606797749979},"206":{"tf":1.4142135623730951},"207":{"tf":2.449489742783178},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"235":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.7320508075688772},"247":{"tf":4.123105625617661},"248":{"tf":3.4641016151377544},"25":{"tf":1.0},"251":{"tf":2.0},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"270":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":2.449489742783178},"274":{"tf":2.0},"275":{"tf":1.0},"279":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":4.69041575982343},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"288":{"tf":4.123105625617661},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"291":{"tf":5.656854249492381},"292":{"tf":1.0},"293":{"tf":6.082762530298219},"294":{"tf":4.358898943540674},"295":{"tf":2.449489742783178},"296":{"tf":2.449489742783178},"297":{"tf":4.242640687119285},"298":{"tf":5.5677643628300215},"300":{"tf":6.0},"301":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"169":{"tf":1.0},"23":{"tf":1.0},"239":{"tf":1.4142135623730951},"255":{"tf":1.0},"264":{"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":6,"docs":{"176":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":2.0},"280":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":27,"docs":{"115":{"tf":1.0},"133":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"194":{"tf":1.0},"201":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"226":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":2.0},"234":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"252":{"tf":1.0},"267":{"tf":1.0},"288":{"tf":6.4031242374328485},"48":{"tf":1.0},"59":{"tf":1.0},"93":{"tf":1.0}},"e":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"235":{"tf":1.0}}}}},"t":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"b":{"a":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"246":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"232":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"234":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"232":{"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":{"235":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"239":{"tf":1.4142135623730951},"240":{"tf":1.0}}}}}},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"229":{"tf":1.0}}}}},"t":{"df":1,"docs":{"288":{"tf":4.0}}},"v":{"df":1,"docs":{"288":{"tf":2.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":2,"docs":{"231":{"tf":1.0},"233":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"`":{"df":1,"docs":{"288":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"235":{"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":{"235":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"235":{"tf":1.0}}},"x":{"df":1,"docs":{"248":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.0}},"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":{},"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":1,"docs":{"288":{"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":{}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"160":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"228":{"tf":1.0},"260":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"173":{"tf":1.7320508075688772},"208":{"tf":1.0}}},"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"]":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"c":{"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":{}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"173":{"tf":1.7320508075688772},"221":{"tf":2.23606797749979}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"173":{"tf":1.0}},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":2.6457513110645907}}}}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"272":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"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":{"186":{"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":{"186":{"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":{"186":{"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":94,"docs":{"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.7320508075688772},"127":{"tf":2.0},"131":{"tf":1.0},"134":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"15":{"tf":1.0},"155":{"tf":2.6457513110645907},"156":{"tf":3.605551275463989},"157":{"tf":1.4142135623730951},"158":{"tf":1.7320508075688772},"159":{"tf":2.23606797749979},"160":{"tf":2.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":2.449489742783178},"177":{"tf":2.23606797749979},"181":{"tf":1.0},"183":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"204":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":2.0},"248":{"tf":3.1622776601683795},"249":{"tf":2.23606797749979},"25":{"tf":1.0},"250":{"tf":2.23606797749979},"251":{"tf":2.0},"254":{"tf":2.6457513110645907},"257":{"tf":2.0},"259":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":2.23606797749979},"266":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.23606797749979},"36":{"tf":1.0},"45":{"tf":1.4142135623730951},"82":{"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":{"176":{"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":{"177":{"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":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"253":{"tf":1.4142135623730951},"254":{"tf":1.7320508075688772},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"279":{"tf":1.0}}}}}},"t":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"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":1,"docs":{"228":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"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":{"150":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"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":{"235":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":45,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"22":{"tf":1.0},"225":{"tf":1.0},"227":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"263":{"tf":1.0},"27":{"tf":1.0},"271":{"tf":1.0},"278":{"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":{"188":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"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":{"235":{"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":{"235":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"228":{"tf":1.0},"229":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"229":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"273":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"273":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"206":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"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":{"235":{"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":2,"docs":{"293":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"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":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"152":{"tf":2.0}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"[":{"1":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"153":{"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":{"235":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"208":{"tf":1.0},"288":{"tf":1.0}}}},"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":{"231":{"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":{"231":{"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":{"235":{"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":{"235":{"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":{"235":{"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":{"231":{"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":{"233":{"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":{"231":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"233":{"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":{"184":{"tf":3.0}}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"221":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":20,"docs":{"222":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":13,"docs":{"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"194":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"277":{"tf":1.0},"49":{"tf":1.0},"64":{"tf":1.0}},"n":{"df":26,"docs":{"124":{"tf":1.0},"131":{"tf":1.0},"155":{"tf":1.0},"165":{"tf":1.7320508075688772},"175":{"tf":1.0},"199":{"tf":1.4142135623730951},"210":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":2.8284271247461903},"291":{"tf":1.4142135623730951},"293":{"tf":2.6457513110645907},"298":{"tf":1.4142135623730951},"36":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"220":{"tf":1.4142135623730951},"227":{"tf":1.0},"238":{"tf":1.0},"288":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"147":{"tf":1.4142135623730951},"187":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"93":{"tf":1.0}}}},"df":16,"docs":{"15":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"277":{"tf":1.4142135623730951},"28":{"tf":1.0},"280":{"tf":1.0}},"e":{"df":3,"docs":{"173":{"tf":1.0},"187":{"tf":1.0},"275":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{}},"o":{"d":{"b":{"df":0,"docs":{},"y":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":9,"docs":{"166":{"tf":1.4142135623730951},"206":{"tf":1.0},"208":{"tf":1.0},"245":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"231":{"tf":1.0},"236":{"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":{"244":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"222":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"h":{"df":19,"docs":{"148":{"tf":1.0},"211":{"tf":1.0},"231":{"tf":3.0},"232":{"tf":3.7416573867739413},"233":{"tf":3.4641016151377544},"234":{"tf":2.449489742783178},"235":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":3.872983346207417},"240":{"tf":2.8284271247461903},"241":{"tf":1.0},"244":{"tf":3.7416573867739413},"246":{"tf":2.8284271247461903},"248":{"tf":2.6457513110645907},"254":{"tf":1.4142135623730951},"255":{"tf":2.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"288":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"234":{"tf":2.0}}}}}}},"r":{"df":2,"docs":{"233":{"tf":1.4142135623730951},"234":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"232":{"tf":1.0},"259":{"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":{"111":{"tf":2.23606797749979},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"51":{"tf":1.0},"74":{"tf":3.3166247903554}}},"t":{"df":6,"docs":{"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.0},"34":{"tf":1.0},"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"253":{"tf":1.0},"254":{"tf":2.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":3,"docs":{"254":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"0":{"df":1,"docs":{"254":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"299":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"209":{"tf":1.0}}}},"w":{"df":1,"docs":{"199":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"279":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"231":{"tf":2.0},"232":{"tf":3.7416573867739413},"235":{"tf":2.23606797749979},"239":{"tf":1.4142135623730951},"240":{"tf":2.0}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":34,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"173":{"tf":1.0},"187":{"tf":1.4142135623730951},"198":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"236":{"tf":1.4142135623730951},"237":{"tf":1.7320508075688772},"238":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.7320508075688772},"244":{"tf":1.7320508075688772},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.0},"3":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"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":{":":{"1":{"df":1,"docs":{"239":{"tf":1.0}}},"3":{"df":1,"docs":{"239":{"tf":1.0}}},"4":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{":":{"5":{"df":1,"docs":{"240":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"d":{"df":2,"docs":{"109":{"tf":1.7320508075688772},"110":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"'":{"df":3,"docs":{"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"210":{"tf":1.0}}},"d":{"df":4,"docs":{"15":{"tf":1.0},"217":{"tf":1.0},"25":{"tf":1.0},"252":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"1":{">":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":13,"docs":{"144":{"tf":1.0},"154":{"tf":1.4142135623730951},"173":{"tf":1.0},"208":{"tf":1.0},"228":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"245":{"tf":1.0},"26":{"tf":1.0},"280":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"82":{"tf":1.0}},"i":{"df":1,"docs":{"276":{"tf":1.0}}},"l":{"df":24,"docs":{"151":{"tf":2.0},"152":{"tf":1.4142135623730951},"153":{"tf":2.0},"154":{"tf":1.0},"161":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":1.0},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"244":{"tf":2.6457513110645907},"247":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.0},"271":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":2.6457513110645907},"261":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":16,"docs":{"103":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"138":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.4142135623730951},"181":{"tf":1.0},"201":{"tf":1.0},"213":{"tf":1.0},"231":{"tf":1.0},"238":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0},"84":{"tf":1.0}}}},"i":{"df":2,"docs":{"153":{"tf":1.0},"208":{"tf":1.0}}}}},"r":{"d":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"173":{"tf":1.0},"261":{"tf":1.0}}},"df":0,"docs":{}}},"df":6,"docs":{"119":{"tf":1.0},"147":{"tf":1.0},"161":{"tf":1.0},"201":{"tf":1.0},"245":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"245":{"tf":1.0},"277":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"230":{"tf":1.0},"231":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"83":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":1,"docs":{"298":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"159":{"tf":1.0},"194":{"tf":1.0},"234":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":12,"docs":{"117":{"tf":1.0},"183":{"tf":1.4142135623730951},"194":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"267":{"tf":1.0},"276":{"tf":1.0},"280":{"tf":1.0},"34":{"tf":1.0},"76":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"72":{"tf":1.0}},"e":{"a":{"d":{"df":5,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":2.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"262":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"209":{"tf":1.0},"45":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"213":{"tf":1.0},"271":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}},"}":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}}}}}}}}},"l":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"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":8,"docs":{"228":{"tf":1.0},"263":{"tf":1.0},"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":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"228":{"tf":1.7320508075688772},"229":{"tf":1.0},"263":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":12,"docs":{"138":{"tf":1.4142135623730951},"158":{"tf":1.0},"228":{"tf":1.0},"263":{"tf":2.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},"65":{"tf":2.0},"8":{"tf":2.0}}}},"p":{"df":3,"docs":{"169":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.0}}}},"n":{"c":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"138":{"tf":1.0},"161":{"tf":1.0}}},"df":40,"docs":{"103":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"147":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"193":{"tf":1.0},"219":{"tf":1.0},"23":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"282":{"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":{"59":{"tf":1.0}}}}}}}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"201":{"tf":1.0},"209":{"tf":1.4142135623730951}}}},"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":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"15":{"tf":1.0},"152":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"243":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":9,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"116":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"65":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.0},"43":{"tf":1.0}}}}},"o":{"c":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"128":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"152":{"tf":1.0},"164":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"235":{"tf":1.7320508075688772},"261":{"tf":1.4142135623730951}},"e":{".":{"<":{"/":{"df":0,"docs":{},"p":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.0},"262":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"209":{"tf":1.0},"78":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"274":{"tf":1.0}}}},"df":6,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"257":{"tf":1.4142135623730951}},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"221":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"172":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.4142135623730951},"124":{"tf":1.7320508075688772}},"s":{"(":{"4":{".":{"0":{"df":1,"docs":{"124":{"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":{"124":{"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":{"235":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"261":{"tf":2.0},"262":{"tf":2.0},"263":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"4":{"0":{"0":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"0":{"4":{"c":{"df":0,"docs":{},"f":{"a":{"d":{"0":{"1":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"7":{"df":0,"docs":{},"f":{"3":{"b":{"8":{"a":{"df":0,"docs":{},"e":{"5":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"221":{"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":{}},"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":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"8":{"0":{"8":{"0":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"254":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"4":{"0":{"0":{"0":{"df":1,"docs":{"221":{"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":{},"s":{":":{"/":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"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":{},"k":{"2":{"0":{"0":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"@":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}}},"df":1,"docs":{"256":{"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":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"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":{":":{"8":{"df":1,"docs":{"254":{"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":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"221":{"tf":3.3166247903554},"252":{"tf":2.0},"253":{"tf":2.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"261":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"s":{":":{"/":{"/":{"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":{},"r":{"df":0,"docs":{},"e":{"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":{"/":{"b":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"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":{}},"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"8":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"/":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"300":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"/":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"a":{"d":{"d":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"293":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"298":{"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":{}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"9":{"9":{"/":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"a":{"df":0,"docs":{},"v":{"a":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"2":{"2":{".":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"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":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"298":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{".":{"1":{"df":1,"docs":{"300":{"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":{}}},"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":{}}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{".":{"b":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"d":{"df":0,"docs":{},"w":{"b":{"7":{"d":{"df":0,"docs":{},"f":{"8":{"?":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"=":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"1":{"df":1,"docs":{"279":{"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":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":2,"docs":{"254":{"tf":2.0},"256":{"tf":1.4142135623730951}}}},"i":{"c":{"df":5,"docs":{"221":{"tf":1.0},"253":{"tf":1.4142135623730951},"254":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"229":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"171":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"202":{"tf":1.0}}},"df":0,"docs":{}}}},"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":{"93":{"tf":1.0}}}}}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"184":{"tf":1.4142135623730951},"185":{"tf":1.0},"230":{"tf":1.0},"276":{"tf":1.0},"64":{"tf":2.0}}}},"m":{"df":2,"docs":{"172":{"tf":1.0},"184":{"tf":1.0}}}},".":{"df":3,"docs":{"111":{"tf":1.0},"231":{"tf":1.0},"71":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"142":{"tf":1.0},"230":{"tf":1.0}}}},"1":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}},"d":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"209":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"261":{"tf":1.0}},"e":{"a":{"df":3,"docs":{"140":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0}},"l":{"df":4,"docs":{"129":{"tf":1.0},"165":{"tf":1.0},"247":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"124":{"tf":1.0},"150":{"tf":1.0},"186":{"tf":1.0},"239":{"tf":1.0},"240":{"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":{"51":{"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":4,"docs":{"151":{"tf":1.0},"215":{"tf":1.0},"32":{"tf":1.0},"95":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"_":{"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":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"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":{"130":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"130":{"tf":1.0},"148":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"69":{"tf":1.7320508075688772},"73":{"tf":1.0},"84":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"114":{"tf":1.0},"221":{"tf":1.0},"232":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"278":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"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":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":5,"docs":{"155":{"tf":1.0},"168":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0},"288":{"tf":1.7320508075688772}}}},"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":{"80":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"103":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":2.0},"208":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772},"238":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":2.0},"293":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":2.0},"86":{"tf":1.7320508075688772}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"184":{"tf":1.0},"188":{"tf":1.0},"230":{"tf":1.4142135623730951},"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"232":{"tf":1.0},"64":{"tf":1.0}}}},"l":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"221":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"127":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"177":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":66,"docs":{"109":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"158":{"tf":2.6457513110645907},"159":{"tf":2.23606797749979},"160":{"tf":2.23606797749979},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":2.6457513110645907},"165":{"tf":4.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"169":{"tf":1.0},"170":{"tf":2.6457513110645907},"171":{"tf":2.449489742783178},"172":{"tf":1.0},"173":{"tf":2.6457513110645907},"175":{"tf":2.23606797749979},"178":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951},"187":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":2.0},"194":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"199":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"254":{"tf":2.23606797749979},"255":{"tf":2.449489742783178},"256":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"266":{"tf":2.23606797749979},"267":{"tf":2.0},"272":{"tf":2.0},"273":{"tf":2.0},"274":{"tf":2.0},"279":{"tf":2.449489742783178},"28":{"tf":1.0},"280":{"tf":2.0},"284":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"7":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}}}}},"i":{"c":{"df":4,"docs":{"140":{"tf":1.0},"165":{"tf":1.0},"244":{"tf":1.0},"250":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.4142135623730951},"274":{"tf":1.0},"281":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"133":{"tf":1.0},"223":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":8,"docs":{"130":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.449489742783178},"166":{"tf":2.449489742783178},"198":{"tf":1.0},"206":{"tf":1.0},"231":{"tf":1.0}},"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":{"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":{":":{"3":{"df":1,"docs":{"164":{"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":{}}}},"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":6,"docs":{"131":{"tf":1.0},"147":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}}}}}}},"df":13,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"170":{"tf":1.7320508075688772},"182":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"24":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"257":{"tf":1.0},"266":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"s":{"df":5,"docs":{"103":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"264":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":12,"docs":{"127":{"tf":1.0},"130":{"tf":2.6457513110645907},"151":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"244":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":31,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"159":{"tf":1.0},"206":{"tf":1.0},"242":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"264":{"tf":1.0}}}},"u":{"d":{"df":17,"docs":{"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"156":{"tf":1.0},"173":{"tf":1.0},"199":{"tf":1.0},"220":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"38":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"244":{"tf":1.7320508075688772},"255":{"tf":1.7320508075688772}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"282":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"208":{"tf":1.0},"291":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"d":{"df":3,"docs":{"182":{"tf":1.0},"215":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"190":{"tf":1.0},"260":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}},"d":{"df":2,"docs":{"175":{"tf":2.23606797749979},"48":{"tf":1.0}},"e":{"df":1,"docs":{"131":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"199":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"208":{"tf":1.0},"230":{"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":{"177":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"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":{"177":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"175":{"tf":2.0},"176":{"tf":1.4142135623730951}}}},"df":2,"docs":{"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}},"df":14,"docs":{"101":{"tf":3.1622776601683795},"102":{"tf":2.6457513110645907},"137":{"tf":1.4142135623730951},"152":{"tf":2.449489742783178},"161":{"tf":3.0},"162":{"tf":3.4641016151377544},"164":{"tf":3.605551275463989},"165":{"tf":4.47213595499958},"288":{"tf":1.4142135623730951},"291":{"tf":3.1622776601683795},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"f":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":6,"docs":{"152":{"tf":1.4142135623730951},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"175":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}},"i":{"c":{"df":8,"docs":{"115":{"tf":1.0},"130":{"tf":1.0},"137":{"tf":1.0},"154":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"177":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"184":{"tf":1.0},"241":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.4142135623730951},"264":{"tf":1.0}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"243":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"225":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"127":{"tf":2.6457513110645907},"131":{"tf":2.0},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"139":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"254":{"tf":1.0},"5":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.6457513110645907}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"130":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"214":{"tf":1.0},"246":{"tf":1.0},"256":{"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":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"o":{"df":2,"docs":{"110":{"tf":1.0},"32":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"152":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"198":{"tf":1.0},"239":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"142":{"tf":1.0},"164":{"tf":1.4142135623730951},"209":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"276":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"169":{"tf":1.4142135623730951},"264":{"tf":1.7320508075688772},"274":{"tf":3.0},"279":{"tf":1.0},"280":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{".":{"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":{"206":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"206":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"+":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"288":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"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":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"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":{":":{"2":{"df":1,"docs":{"206":{"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":{}}}}}}}},"df":42,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"11":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":2.0},"136":{"tf":1.4142135623730951},"155":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":3.1622776601683795},"205":{"tf":1.7320508075688772},"206":{"tf":4.0},"207":{"tf":2.449489742783178},"208":{"tf":2.0},"209":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":2.23606797749979},"213":{"tf":2.23606797749979},"214":{"tf":1.0},"219":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"46":{"tf":2.6457513110645907},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0},"94":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"235":{"tf":1.7320508075688772},"271":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"186":{"tf":1.0},"261":{"tf":1.0},"83":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"+":{"+":{"+":{"!":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"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":{},"}":{"+":{"+":{"+":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"203":{"tf":1.0}}},"b":{"df":1,"docs":{"203":{"tf":1.0}}},"df":3,"docs":{"180":{"tf":1.0},"184":{"tf":1.0},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"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":{"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"52":{"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":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"297":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"140":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":3.4641016151377544},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"262":{"tf":1.0},"291":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":6,"docs":{"149":{"tf":1.0},"173":{"tf":1.0},"199":{"tf":1.0},"244":{"tf":1.0},"286":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"213":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":9,"docs":{"109":{"tf":1.0},"151":{"tf":1.0},"236":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"76":{"tf":1.0},"77":{"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":7,"docs":{"121":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772},"127":{"tf":1.0},"188":{"tf":1.7320508075688772},"206":{"tf":2.449489742783178},"207":{"tf":1.0},"291":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":13,"docs":{"108":{"tf":3.605551275463989},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"138":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"207":{"tf":1.7320508075688772},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0},"293":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"184":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":7,"docs":{"121":{"tf":1.7320508075688772},"130":{"tf":1.0},"188":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":32,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"152":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"218":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":1.0},"90":{"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},"234":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":86,"docs":{"101":{"tf":2.6457513110645907},"102":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"108":{"tf":2.8284271247461903},"109":{"tf":2.23606797749979},"114":{"tf":2.0},"115":{"tf":1.0},"117":{"tf":2.0},"120":{"tf":1.7320508075688772},"122":{"tf":2.449489742783178},"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":2.23606797749979},"136":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":2.6457513110645907},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":2.23606797749979},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"158":{"tf":2.0},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":3.0},"165":{"tf":3.7416573867739413},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.0},"177":{"tf":2.449489742783178},"180":{"tf":2.449489742783178},"181":{"tf":2.449489742783178},"184":{"tf":1.7320508075688772},"186":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"192":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"206":{"tf":2.23606797749979},"207":{"tf":2.23606797749979},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"232":{"tf":1.0},"239":{"tf":2.8284271247461903},"240":{"tf":1.4142135623730951},"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":2.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":2.23606797749979},"291":{"tf":4.47213595499958},"294":{"tf":3.4641016151377544},"295":{"tf":1.4142135623730951},"296":{"tf":2.0},"297":{"tf":1.0},"300":{"tf":4.358898943540674},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"60":{"tf":1.4142135623730951},"72":{"tf":2.6457513110645907},"75":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"137":{"tf":1.0},"84":{"tf":1.0}},"r":{"df":3,"docs":{"222":{"tf":1.0},"260":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"n":{"d":{"df":17,"docs":{"136":{"tf":1.0},"138":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"194":{"tf":1.4142135623730951},"200":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"243":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"284":{"tf":1.0},"64":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"115":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"157":{"tf":1.0},"188":{"tf":1.0},"245":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"174":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"101":{"tf":1.0},"158":{"tf":1.0},"209":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"122":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"118":{"tf":1.0},"201":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"184":{"tf":1.0},"229":{"tf":1.0},"258":{"tf":1.0},"272":{"tf":1.0},"280":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"f":{"a":{"c":{"df":8,"docs":{"157":{"tf":2.0},"160":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":2.23606797749979},"172":{"tf":1.0},"193":{"tf":1.0},"276":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}}}}}}}}}}}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"n":{"d":{"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":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":5,"docs":{"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}}}},"df":17,"docs":{"179":{"tf":1.0},"183":{"tf":1.0},"201":{"tf":2.23606797749979},"208":{"tf":1.0},"209":{"tf":3.4641016151377544},"236":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.4142135623730951},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"286":{"tf":1.0},"3":{"tf":1.0},"70":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"117":{"tf":2.0}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"128":{"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":{"107":{"tf":1.0},"108":{"tf":2.449489742783178},"109":{"tf":3.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"243":{"tf":1.0},"254":{"tf":1.0},"93":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":6,"docs":{"19":{"tf":1.0},"236":{"tf":1.0},"240":{"tf":1.0},"247":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}},"t":{"df":1,"docs":{"199":{"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":{"114":{"tf":2.0}}}}}}}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"<":{"df":0,"docs":{},"x":{"df":1,"docs":{"126":{"tf":1.0}}}},"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":2.0}}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":25,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"239":{"tf":1.4142135623730951},"254":{"tf":1.0},"270":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"118":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"245":{"tf":1.0},"274":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"k":{"df":5,"docs":{"188":{"tf":1.0},"235":{"tf":1.0},"25":{"tf":1.7320508075688772},"293":{"tf":1.0},"32":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"286":{"tf":1.0}}}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"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":{},"n":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"103":{"tf":1.0},"153":{"tf":1.0},"213":{"tf":1.0},"235":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"179":{"tf":1.0},"190":{"tf":1.0},"208":{"tf":1.4142135623730951},"222":{"tf":1.0},"231":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":10,"docs":{"116":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"230":{"tf":1.4142135623730951},"246":{"tf":1.0},"268":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"t":{"'":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":56,"docs":{"10":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"233":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"245":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"29":{"tf":1.0},"299":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"203":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"230":{"tf":1.0}}},"r":{"df":7,"docs":{"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.7320508075688772},"76":{"tf":1.0},"98":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":25,"docs":{"117":{"tf":1.0},"147":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"164":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"217":{"tf":1.0},"222":{"tf":1.0},"249":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.7320508075688772},"280":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"221":{"tf":1.0},"233":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"189":{"tf":1.0},"218":{"tf":2.0},"25":{"tf":1.0},"33":{"tf":2.6457513110645907}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"207":{"tf":2.0},"221":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951}}}}},"v":{"a":{"'":{"df":3,"docs":{"172":{"tf":1.4142135623730951},"278":{"tf":1.0},"55":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"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":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":1,"docs":{"284":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"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":{"291":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"83":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":2,"docs":{"151":{"tf":1.0},"169":{"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":{},"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":{}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"243":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":20,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":2.8284271247461903},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"189":{"tf":1.0},"198":{"tf":1.0},"218":{"tf":1.0},"22":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951},"33":{"tf":2.0},"66":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"180":{"tf":1.7320508075688772}},"o":{"b":{"df":2,"docs":{"140":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"64":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"276":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"300":{"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":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"221":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"257":{"tf":3.3166247903554},"258":{"tf":1.7320508075688772}}}}},"u":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"252":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"214":{"tf":1.0}}},"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":2,"docs":{"293":{"tf":6.082762530298219},"99":{"tf":1.0}}}},"df":5,"docs":{"293":{"tf":5.830951894845301},"58":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":20,"docs":{"116":{"tf":1.0},"131":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"18":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"268":{"tf":1.0},"33":{"tf":1.0}}}},"y":{"df":10,"docs":{"183":{"tf":1.0},"230":{"tf":1.0},"273":{"tf":1.0},"293":{"tf":5.830951894845301},"39":{"tf":1.0},"58":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.0}}}},"n":{"d":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"280":{"tf":1.4142135623730951}}},"df":0,"docs":{},"w":{"df":22,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"189":{"tf":1.0},"194":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":3,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":16,"docs":{"107":{"tf":1.0},"108":{"tf":2.0},"13":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"183":{"tf":1.0},"185":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"230":{"tf":1.4142135623730951},"276":{"tf":1.0},"278":{"tf":1.0},"64":{"tf":1.4142135623730951},"71":{"tf":1.0}}}}}}},"l":{"1":{"2":{"3":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"187":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"184":{"tf":1.4142135623730951},"187":{"tf":2.6457513110645907}}},"2":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"187":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"184":{"tf":1.4142135623730951},"187":{"tf":2.6457513110645907}}},"[":{"0":{"df":4,"docs":{"150":{"tf":1.7320508075688772},"156":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}},"9":{"9":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":3,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"156":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"175":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"271":{"tf":1.4142135623730951}}}},"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}}}}}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"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":{"135":{"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":{"148":{"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":15,"docs":{"114":{"tf":1.4142135623730951},"135":{"tf":2.23606797749979},"144":{"tf":1.7320508075688772},"145":{"tf":2.449489742783178},"146":{"tf":1.7320508075688772},"147":{"tf":3.1622776601683795},"148":{"tf":2.449489742783178},"149":{"tf":2.8284271247461903},"150":{"tf":1.7320508075688772},"155":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"241":{"tf":2.449489742783178},"250":{"tf":2.23606797749979},"293":{"tf":1.4142135623730951}}},"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":11,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"/":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"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":{":":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"278":{"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":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"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":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{"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":7,"docs":{"189":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"=":{"\\":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.0}}}}},"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":47,"docs":{"1":{"tf":1.4142135623730951},"103":{"tf":1.0},"107":{"tf":2.0},"113":{"tf":1.0},"131":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"151":{"tf":1.7320508075688772},"158":{"tf":1.0},"169":{"tf":1.7320508075688772},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.4142135623730951},"198":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.4142135623730951},"220":{"tf":1.0},"222":{"tf":1.4142135623730951},"228":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"24":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"259":{"tf":1.4142135623730951},"260":{"tf":1.0},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"33":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.4142135623730951}},"e":{"'":{"df":2,"docs":{"260":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":15,"docs":{"182":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0},"278":{"tf":1.0},"51":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"190":{"tf":1.4142135623730951},"232":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"174":{"tf":1.0},"230":{"tf":1.0},"291":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0},"79":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":9,"docs":{"110":{"tf":1.0},"144":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.0},"244":{"tf":1.0},"278":{"tf":1.4142135623730951},"288":{"tf":1.0},"93":{"tf":2.23606797749979},"94":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"122":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"213":{"tf":2.449489742783178},"235":{"tf":1.7320508075688772}}}}},"df":22,"docs":{"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":2.23606797749979},"248":{"tf":1.4142135623730951},"281":{"tf":1.0},"45":{"tf":1.0},"60":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":15,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.0},"160":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.4142135623730951},"246":{"tf":1.0},"252":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":15,"docs":{"14":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"214":{"tf":1.4142135623730951},"262":{"tf":1.0},"280":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"67":{"tf":1.0}}}},"v":{"df":10,"docs":{"107":{"tf":1.0},"147":{"tf":1.0},"166":{"tf":1.0},"178":{"tf":1.0},"215":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"298":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":9,"docs":{"107":{"tf":1.0},"128":{"tf":2.8284271247461903},"129":{"tf":2.6457513110645907},"153":{"tf":1.0},"154":{"tf":1.0},"179":{"tf":2.23606797749979},"217":{"tf":1.0},"271":{"tf":1.0},"291":{"tf":1.0}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"103":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"248":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"n":{"(":{"\"":{"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":{},"t":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"155":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0}},"l":{"df":5,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"156":{"tf":1.0},"175":{"tf":1.0},"90":{"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":{"180":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"180":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{")":{".":{"df":0,"docs":{},"v":{"df":2,"docs":{"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":2,"docs":{"168":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"64":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"110":{"tf":1.0},"172":{"tf":1.0},"229":{"tf":1.0}}},"t":{"df":1,"docs":{"184":{"tf":1.0}}}},"t":{"'":{"df":10,"docs":{"15":{"tf":1.0},"152":{"tf":1.0},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.0},"212":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0}}},"df":2,"docs":{"130":{"tf":1.0},"189":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"194":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":21,"docs":{"116":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"233":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.7320508075688772},"271":{"tf":1.4142135623730951},"273":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"83":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"119":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"260":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"h":{"df":4,"docs":{"134":{"tf":1.0},"135":{"tf":2.0},"145":{"tf":1.4142135623730951},"158":{"tf":1.0}},"s":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"158":{"tf":1.0}}}}}}}},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"215":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"5":{"tf":1.0},"86":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":1,"docs":{"243":{"tf":1.4142135623730951}}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"209":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"174":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"210":{"tf":1.0},"213":{"tf":1.0}}}}}}},"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":{"111":{"tf":2.0},"112":{"tf":2.449489742783178},"113":{"tf":2.449489742783178},"74":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":2.6457513110645907}}}}}}}}}},"df":1,"docs":{"111":{"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":2,"docs":{"215":{"tf":1.0},"244":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":16,"docs":{"113":{"tf":1.0},"133":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"174":{"tf":1.0},"188":{"tf":1.0},"205":{"tf":1.0},"244":{"tf":1.0},"245":{"tf":1.0},"250":{"tf":1.0},"258":{"tf":1.4142135623730951},"277":{"tf":1.7320508075688772},"300":{"tf":1.0},"69":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"293":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772}}}},"df":26,"docs":{"150":{"tf":1.0},"2":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.4142135623730951},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.7320508075688772},"220":{"tf":2.449489742783178},"228":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"84":{"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":3,"docs":{"110":{"tf":1.0},"169":{"tf":1.0},"300":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"110":{"tf":1.7320508075688772}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"291":{"tf":1.0}}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":44,"docs":{"110":{"tf":1.4142135623730951},"136":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":2.0},"156":{"tf":1.4142135623730951},"173":{"tf":1.7320508075688772},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"181":{"tf":1.0},"183":{"tf":2.449489742783178},"184":{"tf":2.8284271247461903},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"204":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"247":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":2.0},"270":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":3.0},"291":{"tf":7.0},"298":{"tf":1.7320508075688772},"36":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":2.6457513110645907},"87":{"tf":2.6457513110645907},"88":{"tf":2.0},"89":{"tf":2.0},"90":{"tf":2.23606797749979},"91":{"tf":2.6457513110645907},"92":{"tf":2.0},"93":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.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":{"91":{"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":{"184":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":5,"docs":{"281":{"tf":1.4142135623730951},"60":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"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":{"77":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":2,"docs":{"84":{"tf":1.0},"91":{"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":{"184":{"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},"244":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":24,"docs":{"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"114":{"tf":1.0},"137":{"tf":2.0},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"49":{"tf":2.0},"84":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}},"l":{"df":3,"docs":{"156":{"tf":1.0},"165":{"tf":1.0},"288":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"147":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"246":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"246":{"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":3,"docs":{"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":7,"docs":{"189":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{":":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"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":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":4,"docs":{"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"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":12,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"214":{"tf":1.0},"24":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"278":{"tf":1.0},"38":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"147":{"tf":1.0},"22":{"tf":1.0},"221":{"tf":1.0},"238":{"tf":1.7320508075688772},"249":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"221":{"tf":1.0},"257":{"tf":1.0}}}}}}},"t":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"196":{"tf":1.0},"237":{"tf":1.0},"24":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.0}}}},"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"212":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"212":{"tf":1.0}}}}}},"df":5,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"213":{"tf":1.7320508075688772},"257":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}},"i":{"c":{"df":23,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"140":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.0},"173":{"tf":1.4142135623730951},"180":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.0},"199":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"244":{"tf":1.7320508075688772},"246":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.7320508075688772},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"147":{"tf":1.0},"173":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0},"248":{"tf":1.0},"255":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"292":{"tf":2.23606797749979},"296":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.4142135623730951},"244":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"228":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"228":{"tf":1.4142135623730951},"229":{"tf":1.0}}},"df":0,"docs":{}}},"df":19,"docs":{"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"145":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"34":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"160":{"tf":1.0}}}}},"p":{"'":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":21,"docs":{"155":{"tf":1.0},"186":{"tf":1.0},"197":{"tf":1.0},"214":{"tf":1.0},"246":{"tf":1.0},"256":{"tf":1.0},"270":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.0},"76":{"tf":1.0},"77":{"tf":1.0},"98":{"tf":1.0}}},"s":{"df":1,"docs":{"198":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"244":{"tf":1.7320508075688772},"277":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},"t":{"df":4,"docs":{"201":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0}}},"w":{"df":5,"docs":{"152":{"tf":1.0},"187":{"tf":1.0},"244":{"tf":1.0},"276":{"tf":1.4142135623730951},"45":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"230":{"tf":1.0}}}}},"o":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":10,"docs":{"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"270":{"tf":2.23606797749979},"271":{"tf":2.449489742783178},"273":{"tf":1.0},"275":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":2.0},"279":{"tf":1.7320508075688772},"280":{"tf":1.4142135623730951}},"s":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":17,"docs":{"11":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"187":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"243":{"tf":1.0},"256":{"tf":1.0},"275":{"tf":1.0},"293":{"tf":2.449489742783178},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}},"df":3,"docs":{"228":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"254":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"172":{"tf":1.0}}}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":12,"docs":{"189":{"tf":1.0},"197":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"267":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}}},"df":10,"docs":{"211":{"tf":1.0},"212":{"tf":2.0},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"234":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951},"27":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":14,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"165":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"215":{"tf":1.0},"226":{"tf":1.0},"252":{"tf":1.0},"273":{"tf":1.0},"7":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"118":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"272":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"131":{"tf":1.0},"155":{"tf":1.0},"269":{"tf":1.0},"82":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":61,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.0},"18":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"211":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"226":{"tf":1.0},"227":{"tf":1.7320508075688772},"229":{"tf":1.0},"230":{"tf":2.0},"239":{"tf":1.0},"243":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"245":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.0},"252":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"257":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":2.0},"269":{"tf":1.0},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"280":{"tf":1.0},"300":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0},"95":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"c":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"272":{"tf":1.0},"273":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"(":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":3,"docs":{"274":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.4142135623730951}}}}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"231":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"244":{"tf":1.0},"5":{"tf":1.0},"70":{"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":{"156":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"51":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"242":{"tf":1.0}}},"i":{"df":26,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"151":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"39":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"140":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"260":{"tf":1.0},"82":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"209":{"tf":1.0},"260":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":17,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"180":{"tf":1.0},"184":{"tf":1.7320508075688772},"209":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"242":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.4142135623730951},"277":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"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":{"184":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"<":{"a":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":10,"docs":{"230":{"tf":1.0},"293":{"tf":8.12403840463596},"39":{"tf":1.0},"58":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":2.0},"96":{"tf":2.0},"97":{"tf":2.449489742783178},"98":{"tf":2.0},"99":{"tf":3.0}},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"146":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"230":{"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":{"99":{"tf":1.0}}}}},"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":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"293":{"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":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":2.23606797749979}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"263":{"tf":1.4142135623730951}}}}}},"df":3,"docs":{"16":{"tf":1.0},"209":{"tf":1.0},"243":{"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":{"69":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"69":{"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":21,"docs":{"102":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"186":{"tf":1.0},"219":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951},"66":{"tf":3.1622776601683795},"67":{"tf":2.23606797749979},"68":{"tf":1.7320508075688772},"69":{"tf":3.7416573867739413},"70":{"tf":2.8284271247461903},"71":{"tf":2.449489742783178},"72":{"tf":2.8284271247461903},"73":{"tf":2.6457513110645907},"74":{"tf":3.3166247903554},"75":{"tf":3.0}},"e":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"294":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"180":{"tf":1.0},"223":{"tf":1.0},"25":{"tf":1.0},"272":{"tf":1.0}}}}}},"x":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"186":{"tf":2.23606797749979}}}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"177":{"tf":2.0}}},"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"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":{"127":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"125":{"tf":1.0},"127":{"tf":1.0}}}}},"1":{"0":{"df":1,"docs":{"125":{"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":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"125":{"tf":1.0},"127":{"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":{"127":{"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":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"127":{"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":{"235":{"tf":2.23606797749979}}}}},"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}}}}}}}}}}}},"df":5,"docs":{"288":{"tf":1.7320508075688772},"293":{"tf":2.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":28,"docs":{"132":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.4142135623730951},"171":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0},"195":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"252":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"288":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"111":{"tf":1.0},"187":{"tf":1.0},"244":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}}},"t":{"df":1,"docs":{"280":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":22,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"171":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"245":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.0},"39":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"51":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"235":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"183":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.0},"237":{"tf":1.4142135623730951},"244":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"157":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"153":{"tf":1.0},"174":{"tf":1.0},"214":{"tf":1.0},"224":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"293":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"221":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":1,"docs":{"262":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":25,"docs":{"229":{"tf":1.0},"259":{"tf":1.7320508075688772},"260":{"tf":1.4142135623730951},"261":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"277":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"158":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"df":7,"docs":{"170":{"tf":2.0},"220":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"124":{"tf":2.23606797749979}},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.4142135623730951}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":3,"docs":{"272":{"tf":1.0},"279":{"tf":1.0},"48":{"tf":1.0}}}},"n":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":11,"docs":{"116":{"tf":1.0},"131":{"tf":1.0},"166":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"220":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"260":{"tf":1.0},"69":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"263":{"tf":1.4142135623730951},"291":{"tf":1.0},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"291":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"155":{"tf":1.0}}}},"u":{"df":1,"docs":{"278":{"tf":1.0}},"t":{"df":2,"docs":{"11":{"tf":1.0},"189":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":5,"docs":{"189":{"tf":1.0},"229":{"tf":1.0},"254":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"112":{"tf":1.7320508075688772},"189":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"230":{"tf":1.0},"75":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"244":{"tf":1.0}}}}},"x":{"df":1,"docs":{"85":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":20,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"122":{"tf":1.0},"151":{"tf":2.0},"152":{"tf":1.0},"153":{"tf":1.0},"157":{"tf":1.0},"189":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"274":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"98":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"274":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"249":{"tf":1.0},"298":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"198":{"tf":1.0}}}},"df":102,"docs":{"127":{"tf":1.0},"152":{"tf":1.0},"16":{"tf":1.0},"164":{"tf":1.0},"17":{"tf":2.0},"189":{"tf":1.4142135623730951},"190":{"tf":2.6457513110645907},"191":{"tf":2.23606797749979},"192":{"tf":1.7320508075688772},"193":{"tf":1.7320508075688772},"194":{"tf":3.605551275463989},"195":{"tf":2.0},"196":{"tf":1.7320508075688772},"197":{"tf":2.0},"198":{"tf":2.8284271247461903},"199":{"tf":2.6457513110645907},"2":{"tf":1.0},"200":{"tf":1.7320508075688772},"201":{"tf":1.7320508075688772},"202":{"tf":2.0},"203":{"tf":2.0},"204":{"tf":2.449489742783178},"205":{"tf":1.4142135623730951},"206":{"tf":2.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.4142135623730951},"209":{"tf":2.23606797749979},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"214":{"tf":2.0},"215":{"tf":2.23606797749979},"216":{"tf":1.4142135623730951},"217":{"tf":1.4142135623730951},"218":{"tf":1.4142135623730951},"219":{"tf":1.4142135623730951},"220":{"tf":2.23606797749979},"221":{"tf":2.23606797749979},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.4142135623730951},"225":{"tf":2.0},"226":{"tf":2.23606797749979},"227":{"tf":1.4142135623730951},"228":{"tf":2.8284271247461903},"229":{"tf":2.0},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"255":{"tf":1.0},"265":{"tf":2.0},"266":{"tf":2.449489742783178},"267":{"tf":2.6457513110645907},"268":{"tf":1.0},"269":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"270":{"tf":1.7320508075688772},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"275":{"tf":1.0},"276":{"tf":2.0},"277":{"tf":1.4142135623730951},"278":{"tf":3.0},"279":{"tf":3.3166247903554},"280":{"tf":1.0},"281":{"tf":2.6457513110645907},"282":{"tf":1.0},"283":{"tf":1.7320508075688772},"284":{"tf":2.0},"285":{"tf":1.7320508075688772},"286":{"tf":1.7320508075688772},"287":{"tf":1.7320508075688772},"288":{"tf":1.7320508075688772},"289":{"tf":1.7320508075688772},"290":{"tf":1.7320508075688772},"291":{"tf":2.6457513110645907},"292":{"tf":1.7320508075688772},"293":{"tf":2.6457513110645907},"294":{"tf":1.7320508075688772},"295":{"tf":1.7320508075688772},"296":{"tf":1.7320508075688772},"297":{"tf":1.7320508075688772},"298":{"tf":2.23606797749979},"299":{"tf":1.7320508075688772},"300":{"tf":1.7320508075688772},"301":{"tf":1.7320508075688772},"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},"9":{"tf":1.0},"91":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"'":{"df":13,"docs":{"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"219":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.7320508075688772},"286":{"tf":1.0}}},"(":{"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":17,"docs":{"195":{"tf":1.4142135623730951},"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"266":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0},"286":{"tf":1.0},"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":5,"docs":{"172":{"tf":1.0},"198":{"tf":1.0},"243":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0}}}}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"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":3,"docs":{"139":{"tf":1.0},"160":{"tf":1.7320508075688772},"171":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":86,"docs":{"101":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"138":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"193":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.7320508075688772},"221":{"tf":1.0},"222":{"tf":1.4142135623730951},"224":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.7320508075688772},"229":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.7320508075688772},"237":{"tf":1.4142135623730951},"241":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":2.0},"260":{"tf":1.7320508075688772},"261":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"280":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":2.0},"86":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"279":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":7,"docs":{"189":{"tf":1.0},"221":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.4142135623730951},"271":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0}}},"i":{"df":1,"docs":{"231":{"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":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"124":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"124":{"tf":2.23606797749979}}}},"s":{"df":0,"docs":{},"g":{"df":7,"docs":{"212":{"tf":1.0},"228":{"tf":1.4142135623730951},"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":27,"docs":{"107":{"tf":1.4142135623730951},"131":{"tf":1.0},"156":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.0},"221":{"tf":1.0},"227":{"tf":1.0},"231":{"tf":1.4142135623730951},"233":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"277":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"197":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"239":{"tf":1.0},"240":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0},"68":{"tf":1.4142135623730951},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":30,"docs":{"138":{"tf":1.0},"139":{"tf":1.0},"154":{"tf":1.0},"161":{"tf":2.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"187":{"tf":1.0},"193":{"tf":1.0},"199":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.4142135623730951},"239":{"tf":1.0},"241":{"tf":1.0},"266":{"tf":2.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"293":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":2,"docs":{"192":{"tf":1.0},"193":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"291":{"tf":1.0},"293":{"tf":1.0}}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":32,"docs":{"103":{"tf":2.23606797749979},"106":{"tf":1.7320508075688772},"147":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"180":{"tf":2.6457513110645907},"181":{"tf":2.6457513110645907},"183":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":2.6457513110645907},"188":{"tf":1.7320508075688772},"201":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":2.449489742783178},"240":{"tf":1.7320508075688772},"241":{"tf":2.23606797749979},"242":{"tf":2.6457513110645907},"243":{"tf":2.23606797749979},"293":{"tf":2.0},"298":{"tf":1.0},"4":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":2.23606797749979},"85":{"tf":3.0},"86":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.0}}}},"t":{"df":16,"docs":{"103":{"tf":2.8284271247461903},"106":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":2.0},"183":{"tf":1.0},"187":{"tf":1.0},"201":{"tf":1.0},"207":{"tf":2.0},"209":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.0},"242":{"tf":1.0},"84":{"tf":1.0}}}},"df":41,"docs":{"103":{"tf":2.449489742783178},"106":{"tf":2.0},"150":{"tf":2.23606797749979},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"173":{"tf":2.0},"178":{"tf":2.23606797749979},"179":{"tf":3.1622776601683795},"180":{"tf":3.872983346207417},"181":{"tf":1.4142135623730951},"183":{"tf":1.7320508075688772},"184":{"tf":2.23606797749979},"187":{"tf":3.605551275463989},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"281":{"tf":1.7320508075688772},"284":{"tf":1.0},"291":{"tf":5.830951894845301},"293":{"tf":5.744562646538029},"295":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":6.082762530298219},"60":{"tf":1.4142135623730951},"77":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":3.1622776601683795},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":2.0},"77":{"tf":1.4142135623730951},"80":{"tf":1.0},"85":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"y":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"b":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"210":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"251":{"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":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"178":{"tf":2.23606797749979}}},"y":{"[":{"2":{"df":1,"docs":{"178":{"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":{"116":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"286":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"286":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":2.0}}}}},"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":3,"docs":{"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"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":{"96":{"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":{"96":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"96":{"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":{"251":{"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":{"138":{"tf":1.0}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"[":{"0":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"101":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"102":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}},"2":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"df":3,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"%":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"=":{"\\":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":60,"docs":{"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"11":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.7320508075688772},"194":{"tf":2.6457513110645907},"195":{"tf":1.7320508075688772},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":2.449489742783178},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"220":{"tf":2.0},"223":{"tf":1.0},"224":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":2.0},"23":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.0},"255":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"266":{"tf":1.7320508075688772},"267":{"tf":2.449489742783178},"269":{"tf":2.0},"270":{"tf":1.7320508075688772},"272":{"tf":1.7320508075688772},"273":{"tf":2.23606797749979},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":2.449489742783178},"281":{"tf":1.0},"286":{"tf":1.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"83":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{"184":{"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":3,"docs":{"109":{"tf":2.8284271247461903},"110":{"tf":1.4142135623730951},"154":{"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":{"109":{"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":{}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"270":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"220":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":3,"docs":{"170":{"tf":1.7320508075688772},"262":{"tf":1.0},"288":{"tf":2.449489742783178}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"102":{"tf":1.0},"108":{"tf":1.4142135623730951},"139":{"tf":1.0},"153":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"209":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"291":{"tf":1.0},"69":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"209":{"tf":1.0},"274":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":53,"docs":{"103":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"19":{"tf":1.0},"190":{"tf":1.0},"204":{"tf":1.0},"208":{"tf":1.0},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"250":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"279":{"tf":1.0},"281":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"f":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"248":{"tf":1.0}}},"t":{"df":12,"docs":{"130":{"tf":1.0},"131":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":4,"docs":{"209":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"130":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"186":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.4142135623730951},"244":{"tf":1.7320508075688772},"265":{"tf":1.0},"275":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":37,"docs":{"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.7320508075688772},"124":{"tf":1.0},"128":{"tf":1.0},"156":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"18":{"tf":1.0},"183":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":2.0},"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},"65":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"38":{"tf":1.0},"42":{"tf":1.0}},"n":{"df":1,"docs":{"262":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":51,"docs":{"110":{"tf":1.0},"120":{"tf":2.23606797749979},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.7320508075688772},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"175":{"tf":1.0},"181":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":1.0},"192":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"229":{"tf":1.0},"243":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"299":{"tf":1.4142135623730951},"301":{"tf":1.0},"72":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"tf":1.7320508075688772}},"u":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":14,"docs":{"110":{"tf":2.8284271247461903},"14":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":2.0},"162":{"tf":2.6457513110645907},"164":{"tf":2.6457513110645907},"165":{"tf":3.3166247903554},"186":{"tf":2.0},"260":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.0},"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"68":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{"296":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}}}}},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":2.6457513110645907}}}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"284":{"tf":3.3166247903554},"295":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":1.7320508075688772}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"129":{"tf":2.23606797749979}}}}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.449489742783178}}}}},"t":{"df":5,"docs":{"129":{"tf":1.0},"161":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.449489742783178}}}},"a":{"df":1,"docs":{"240":{"tf":2.23606797749979}}},"b":{"df":2,"docs":{"239":{"tf":2.0},"240":{"tf":2.0}}},"c":{"df":2,"docs":{"239":{"tf":2.23606797749979},"240":{"tf":2.23606797749979}}},"df":15,"docs":{"110":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.7320508075688772},"231":{"tf":3.3166247903554},"232":{"tf":3.1622776601683795},"233":{"tf":1.4142135623730951},"235":{"tf":2.8284271247461903},"238":{"tf":1.4142135623730951},"239":{"tf":3.1622776601683795},"240":{"tf":3.3166247903554},"244":{"tf":1.7320508075688772},"246":{"tf":1.0},"248":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"32":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"118":{"tf":2.0}}}}},"n":{"df":21,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"194":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"244":{"tf":1.4142135623730951},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"291":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"75":{"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":{"64":{"tf":1.0}},"e":{"[":{"0":{"df":1,"docs":{"64":{"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":{"64":{"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":2,"docs":{"108":{"tf":1.0},"288":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":2,"docs":{"246":{"tf":1.0},"248":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"281":{"tf":1.0},"288":{"tf":1.7320508075688772}}}},"df":1,"docs":{"170":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"202":{"tf":2.23606797749979},"300":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"o":{"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"279":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":61,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"164":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"214":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.7320508075688772},"254":{"tf":1.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.0},"27":{"tf":1.0},"298":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}},"h":{"df":10,"docs":{"128":{"tf":2.23606797749979},"129":{"tf":2.0},"164":{"tf":1.0},"172":{"tf":1.0},"181":{"tf":1.0},"206":{"tf":1.0},"239":{"tf":1.0},"278":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0}}},"i":{"c":{"df":16,"docs":{"156":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.4142135623730951},"194":{"tf":1.0},"195":{"tf":1.0},"215":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"279":{"tf":1.0},"32":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"157":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"252":{"tf":1.0}}}}},"w":{"df":45,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"158":{"tf":1.0},"165":{"tf":2.23606797749979},"171":{"tf":1.0},"180":{"tf":2.0},"184":{"tf":1.7320508075688772},"189":{"tf":1.4142135623730951},"198":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":1.7320508075688772},"209":{"tf":1.0},"210":{"tf":1.0},"219":{"tf":1.4142135623730951},"221":{"tf":1.7320508075688772},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":2.449489742783178},"28":{"tf":1.0},"286":{"tf":1.0},"299":{"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},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"130":{"tf":1.0},"161":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":2.0},"234":{"tf":1.0},"244":{"tf":1.4142135623730951},"266":{"tf":1.0},"291":{"tf":1.0},"45":{"tf":2.0},"63":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}}}},"df":1,"docs":{"206":{"tf":1.7320508075688772}},"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":{"192":{"tf":1.0},"193":{"tf":1.0}}}}},"t":{"df":1,"docs":{"192":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"7":{"df":1,"docs":{"206":{"tf":1.0}}},"8":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"8":{"df":1,"docs":{"206":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"247":{"tf":1.0}}}}}}}},"{":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}}}},"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":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}}},"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":2.0},"170":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":6,"docs":{"142":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":5,"docs":{"131":{"tf":1.0},"134":{"tf":1.0},"168":{"tf":1.0},"199":{"tf":1.0},"272":{"tf":1.0}},"s":{"df":3,"docs":{"169":{"tf":1.0},"201":{"tf":1.0},"242":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"184":{"tf":1.0},"213":{"tf":1.0},"237":{"tf":1.0},"291":{"tf":1.0}},"r":{"df":3,"docs":{"155":{"tf":1.0},"174":{"tf":1.0},"291":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"7":{"df":1,"docs":{"206":{"tf":1.0}}},"8":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"206":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":2,"docs":{"138":{"tf":1.4142135623730951},"87":{"tf":1.0}},"f":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"284":{"tf":1.0},"295":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"235":{"tf":1.4142135623730951},"257":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"66":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"207":{"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":{"155":{"tf":1.0}}}}}}}}},"k":{"df":4,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"272":{"tf":1.0},"299":{"tf":1.0}}},"l":{"d":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"293":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"tf":1.0}},"u":{"df":1,"docs":{"293":{"tf":1.0}}},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"106":{"tf":1.0},"131":{"tf":1.0},"223":{"tf":1.0}}}}},"n":{"c":{"df":15,"docs":{"11":{"tf":1.0},"165":{"tf":1.0},"189":{"tf":1.0},"213":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.7320508075688772},"280":{"tf":1.0},"288":{"tf":1.4142135623730951},"293":{"tf":1.0},"296":{"tf":1.0},"300":{"tf":1.0},"64":{"tf":1.0},"9":{"tf":1.0}}},"df":60,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":1.0},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0},"182":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"232":{"tf":1.0},"234":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"250":{"tf":1.0},"261":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.7320508075688772},"29":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0}},"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":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"[":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"a":{"df":2,"docs":{"138":{"tf":1.0},"154":{"tf":2.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"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":2,"docs":{"291":{"tf":1.4142135623730951},"297":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"c":{"a":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.0},"297":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"168":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":2.0},"138":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"186":{"tf":1.0},"202":{"tf":2.0},"290":{"tf":1.0},"291":{"tf":2.0},"297":{"tf":1.0},"300":{"tf":2.0}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"128":{"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":{"110":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"292":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":5,"docs":{"129":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}}}}}},"r":{"df":4,"docs":{"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"74":{"tf":2.0}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"d":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":8,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"207":{"tf":1.0},"284":{"tf":2.449489742783178},"291":{"tf":1.0},"297":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":7,"docs":{"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"221":{"tf":1.0},"286":{"tf":1.0},"297":{"tf":2.23606797749979}}}}},"t":{"df":9,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"175":{"tf":1.0},"284":{"tf":2.449489742783178},"291":{"tf":2.0},"295":{"tf":1.4142135623730951},"299":{"tf":1.0}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"293":{"tf":3.872983346207417}}}},"df":9,"docs":{"107":{"tf":2.0},"108":{"tf":2.23606797749979},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.0},"134":{"tf":1.0},"154":{"tf":1.4142135623730951},"160":{"tf":1.0},"75":{"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":{"108":{"tf":1.0}}},"4":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"209":{"tf":1.0}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"205":{"tf":1.0}}}},"u":{"df":2,"docs":{"175":{"tf":1.0},"186":{"tf":1.0}}}},"o":{"df":1,"docs":{"264":{"tf":1.0}},"m":{"df":1,"docs":{"244":{"tf":1.0}}},"p":{"df":2,"docs":{"169":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":15,"docs":{"201":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.4142135623730951},"209":{"tf":2.23606797749979},"229":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"271":{"tf":1.0},"284":{"tf":1.0},"286":{"tf":1.4142135623730951},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"301":{"tf":1.0}}}}},"df":2,"docs":{"184":{"tf":1.0},"233":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"172":{"tf":1.0},"209":{"tf":1.0},"277":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"$":{"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.0}}}}},"x":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":23,"docs":{"108":{"tf":1.7320508075688772},"122":{"tf":1.0},"13":{"tf":1.4142135623730951},"142":{"tf":1.0},"153":{"tf":1.4142135623730951},"154":{"tf":2.0},"161":{"tf":1.0},"207":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":1.7320508075688772},"244":{"tf":2.23606797749979},"245":{"tf":1.0},"247":{"tf":1.0},"291":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"76":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"93":{"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":{"230":{"tf":1.0}}}}}},"s":{"df":1,"docs":{"169":{"tf":1.4142135623730951}}}}},"t":{"df":10,"docs":{"102":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"174":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"242":{"tf":1.0},"261":{"tf":1.0},"274":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":7,"docs":{"182":{"tf":2.0},"183":{"tf":1.4142135623730951},"184":{"tf":2.0},"213":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"3":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":13,"docs":{"106":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"20":{"tf":1.0},"204":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":1.0},"268":{"tf":1.0},"279":{"tf":1.0},"293":{"tf":1.0},"39":{"tf":1.0},"77":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.4142135623730951},"149":{"tf":1.0},"180":{"tf":1.0},"194":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.4142135623730951},"230":{"tf":2.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.0},"254":{"tf":1.4142135623730951},"264":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":2.23606797749979},"291":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":2.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":4,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"264":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.7320508075688772},"278":{"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":{"180":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":10,"docs":{"109":{"tf":1.0},"149":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":2.8284271247461903},"181":{"tf":2.449489742783178},"183":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"229":{"tf":1.0},"293":{"tf":1.7320508075688772}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"230":{"tf":1.0},"272":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":7,"docs":{"134":{"tf":1.0},"188":{"tf":1.0},"208":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"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":{"150":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"209":{"tf":1.0},"247":{"tf":1.0}}}}},"df":42,"docs":{"101":{"tf":1.7320508075688772},"110":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":2.23606797749979},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"189":{"tf":1.7320508075688772},"199":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.4142135623730951},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"258":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":2.0},"267":{"tf":2.0},"269":{"tf":1.7320508075688772},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":2.0},"280":{"tf":1.0},"282":{"tf":1.0},"288":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":2.23606797749979},"180":{"tf":1.0},"183":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"198":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":112,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.4142135623730951},"248":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"279":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"68":{"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},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"142":{"tf":1.0},"147":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"223":{"tf":1.0},"233":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"271":{"tf":1.0},"281":{"tf":1.4142135623730951},"286":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"\"":{"/":{"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"241":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"184":{"tf":1.0},"200":{"tf":1.0},"227":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"68":{"tf":1.0}}}},"df":61,"docs":{"108":{"tf":1.4142135623730951},"127":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"177":{"tf":1.0},"186":{"tf":1.4142135623730951},"194":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"226":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.4142135623730951},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.7320508075688772}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.7320508075688772}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"114":{"tf":1.0},"160":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"205":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"264":{"tf":1.0}}},"o":{"a":{"d":{"df":2,"docs":{"167":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"279":{"tf":1.0}}}}},"df":2,"docs":{"170":{"tf":1.7320508075688772},"279":{"tf":2.8284271247461903}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"124":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"222":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}}}}},"p":{">":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"17":{"tf":1.0},"195":{"tf":1.0},"21":{"tf":1.0},"225":{"tf":2.23606797749979},"226":{"tf":2.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":1,"docs":{"300":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"263":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"189":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"i":{"c":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"102":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"79":{"tf":1.0},"90":{"tf":1.0}},"k":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":2,"docs":{"169":{"tf":1.0},"273":{"tf":1.0}}}}}},"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":{"231":{"tf":1.0}}}}}}}},"m":{"(":{"df":1,"docs":{"156":{"tf":1.0}}},"df":10,"docs":{"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"156":{"tf":1.0},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"139":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.4142135623730951},"271":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"181":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":8,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":2.23606797749979},"220":{"tf":2.0},"255":{"tf":1.0},"257":{"tf":3.0},"258":{"tf":1.7320508075688772}},"e":{"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":{"283":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"299":{"tf":1.0}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"257":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":3,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"257":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"290":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":1,"docs":{"292":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"257":{"tf":1.7320508075688772}}}}},"t":{"df":4,"docs":{"189":{"tf":1.0},"299":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"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":{"130":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":24,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"186":{"tf":1.0},"198":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"226":{"tf":1.4142135623730951},"227":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"259":{"tf":1.0},"275":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"131":{"tf":1.0},"166":{"tf":1.0},"209":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"215":{"tf":1.0},"252":{"tf":1.0}},"t":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":28,"docs":{"116":{"tf":1.0},"124":{"tf":1.0},"139":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"160":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"189":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":2.0},"218":{"tf":1.7320508075688772},"219":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.7320508075688772},"255":{"tf":1.0},"260":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"2":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"34":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"196":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"196":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":6,"docs":{"1":{"tf":1.4142135623730951},"153":{"tf":1.0},"169":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"215":{"tf":1.0}}},"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"297":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":27,"docs":{"107":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"215":{"tf":1.0},"233":{"tf":1.0},"244":{"tf":1.4142135623730951},"259":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":1.0},"280":{"tf":1.0},"297":{"tf":2.449489742783178},"66":{"tf":2.449489742783178},"67":{"tf":2.0},"68":{"tf":1.0},"69":{"tf":2.449489742783178},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"72":{"tf":2.449489742783178},"73":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":9,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":3,"docs":{"145":{"tf":1.0},"207":{"tf":2.449489742783178},"279":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"65":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"230":{"tf":1.0},"274":{"tf":1.0}}}}},"r":{"df":1,"docs":{"231":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":16,"docs":{"109":{"tf":1.0},"160":{"tf":1.4142135623730951},"173":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":2.6457513110645907},"183":{"tf":1.4142135623730951},"184":{"tf":2.0},"213":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"252":{"tf":1.0},"257":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"201":{"tf":1.0},"208":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"242":{"tf":1.0},"288":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"224":{"tf":1.0},"70":{"tf":2.449489742783178}}}},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"279":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":2.0}}}}}},".":{"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":{"207":{"tf":1.4142135623730951}}}}},"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":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"\"":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":1.7320508075688772}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"207":{"tf":2.449489742783178},"209":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"221":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"186":{"tf":1.0},"260":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"169":{"tf":1.4142135623730951}},"i":{"df":2,"docs":{"211":{"tf":1.0},"239":{"tf":1.0}}}}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"17":{"tf":1.0},"194":{"tf":1.0},"244":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"[":{"1":{"df":1,"docs":{"177":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":1,"docs":{"177":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"177":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"183":{"tf":1.0},"187":{"tf":1.0},"195":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"64":{"tf":3.4641016151377544},"65":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"64":{"tf":1.0},"65":{"tf":2.449489742783178}},"e":{"'":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":18,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"243":{"tf":1.0},"281":{"tf":1.0},"29":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":19,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":9,"docs":{"178":{"tf":1.0},"198":{"tf":1.0},"220":{"tf":1.0},"243":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":2.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"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":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"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":{},"n":{"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":{"279":{"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"279":{"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":{}}}}}},"y":{"df":2,"docs":{"221":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"173":{"tf":1.0}}},"df":2,"docs":{"173":{"tf":1.0},"71":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"258":{"tf":1.0},"282":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"155":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"108":{"tf":1.0},"128":{"tf":1.0},"164":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"229":{"tf":1.4142135623730951},"232":{"tf":1.0},"252":{"tf":1.0},"264":{"tf":1.0},"280":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"173":{"tf":1.0},"184":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":1.0},"270":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":2.6457513110645907},"212":{"tf":1.7320508075688772},"213":{"tf":1.7320508075688772},"221":{"tf":1.0},"257":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"230":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"139":{"tf":1.4142135623730951},"288":{"tf":1.0},"291":{"tf":2.6457513110645907},"90":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":45,"docs":{"109":{"tf":1.0},"113":{"tf":1.0},"127":{"tf":1.7320508075688772},"134":{"tf":1.0},"140":{"tf":1.0},"151":{"tf":1.4142135623730951},"165":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"247":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":15,"docs":{"151":{"tf":1.0},"153":{"tf":1.4142135623730951},"172":{"tf":1.0},"187":{"tf":1.7320508075688772},"201":{"tf":1.0},"209":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.4142135623730951},"278":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":21,"docs":{"114":{"tf":1.0},"119":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.0},"172":{"tf":1.0},"219":{"tf":1.0},"222":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"237":{"tf":1.0},"244":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"275":{"tf":1.0},"280":{"tf":1.0},"39":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":8,"docs":{"152":{"tf":1.0},"161":{"tf":1.0},"242":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"139":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"d":{"(":{"a":{"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"248":{"tf":1.0}}}},"df":5,"docs":{"156":{"tf":1.0},"247":{"tf":2.23606797749979},"248":{"tf":1.7320508075688772},"289":{"tf":1.0},"291":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"284":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":3,"docs":{"104":{"tf":1.0},"254":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"206":{"tf":1.0},"274":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"x":{"df":3,"docs":{"220":{"tf":1.0},"270":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"235":{"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":9,"docs":{"125":{"tf":1.4142135623730951},"131":{"tf":1.0},"17":{"tf":1.0},"228":{"tf":1.0},"267":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.7320508075688772},"298":{"tf":2.0},"95":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"110":{"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":{"193":{"tf":1.0},"195":{"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":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"171":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"193":{"tf":1.0}},"o":{"df":0,"docs":{},"o":{"(":{"1":{"2":{"3":{"4":{"df":1,"docs":{"171":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"192":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"171":{"tf":1.0},"172":{"tf":1.0},"194":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"2":{"3":{"4":{"df":1,"docs":{"172":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"v":{"df":1,"docs":{"64":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"124":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"240":{"tf":1.0},"242":{"tf":1.0},"246":{"tf":1.0},"269":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":20,"docs":{"153":{"tf":1.0},"158":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"187":{"tf":1.0},"198":{"tf":1.0},"228":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.0},"293":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"80":{"tf":1.0},"91":{"tf":1.0}},"s":{"df":5,"docs":{"196":{"tf":1.0},"207":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"293":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"124":{"tf":1.0},"211":{"tf":1.0},"237":{"tf":1.0},"65":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"180":{"tf":1.0},"36":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"119":{"tf":1.0},"45":{"tf":2.6457513110645907}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"\"":{"(":{"1":{"df":1,"docs":{"73":{"tf":2.0}}},"_":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"187":{"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":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"180":{"tf":1.0},"84":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"72":{"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":{"178":{"tf":1.0},"180":{"tf":1.0},"84":{"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":{"184":{"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":{"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}},"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":{"69":{"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":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"180":{"tf":1.0}}},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"215":{"tf":1.0}}}}},"f":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}},"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":{},"o":{"(":{"\\":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"75":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"108":{"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":{"184":{"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":4,"docs":{"219":{"tf":1.0},"263":{"tf":1.0},"29":{"tf":1.0},"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"149":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"152":{"tf":1.7320508075688772},"162":{"tf":1.0}}}}},"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":{"108":{"tf":1.0}}}}}}}}}},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"71":{"tf":1.0},"96":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}}}},"y":{"df":1,"docs":{"58":{"tf":1.0}}}}},"l":{"1":{"df":1,"docs":{"187":{"tf":1.0}}},"2":{"df":1,"docs":{"187":{"tf":1.7320508075688772}}},"df":1,"docs":{"178":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"212":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"184":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"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":{"180":{"tf":1.4142135623730951},"181":{"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":{"70":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.7320508075688772}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"172":{"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":{},"r":{"df":0,"docs":{},"v":{"df":4,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}},"{":{"df":1,"docs":{"142":{"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":{"109":{"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":{"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"k":{"df":2,"docs":{"97":{"tf":1.0},"98":{"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":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"1":{"0":{"df":2,"docs":{"94":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"94":{"tf":1.0}}},"a":{"d":{"d":{"(":{"1":{"0":{"df":1,"docs":{"141":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"139":{"tf":1.0}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"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":{}}}},"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":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"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":{"150":{"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":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"179":{"tf":1.4142135623730951},"183":{"tf":1.0},"186":{"tf":1.0}}}}}},"df":8,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0}},"f":{"df":2,"docs":{"121":{"tf":1.0},"122":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}}},"i":{"1":{"df":1,"docs":{"117":{"tf":1.0}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"3":{"df":1,"docs":{"117":{"tf":1.0}}},"df":3,"docs":{"52":{"tf":1.0},"53":{"tf":1.0},"54":{"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":{"80":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"[":{"0":{"df":1,"docs":{"88":{"tf":1.0}}},"1":{"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}},"6":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"281":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"87":{"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":{"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"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":{"146":{"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":{"99":{"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":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"127":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"228":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"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":{"150":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"103":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.4142135623730951}},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}},"x":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":2,"docs":{"104":{"tf":1.0},"106":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":{"158":{"tf":1.0}}}}}}}},"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":{}},"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":{"179":{"tf":1.4142135623730951},"183":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"207":{"tf":2.449489742783178}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"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":2,"docs":{"164":{"tf":1.4142135623730951},"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":{}}},"df":1,"docs":{"248":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"168":{"tf":1.0}},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":{"158":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"155":{"tf":1.0}}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"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":{"124":{"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":{"124":{"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":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"115":{"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":{"155":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"129":{"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":{"177":{"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":{"175":{"tf":1.0}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"139":{"tf":1.0},"145":{"tf":1.0}}}},"df":11,"docs":{"110":{"tf":1.4142135623730951},"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"193":{"tf":1.0},"212":{"tf":1.0},"27":{"tf":1.4142135623730951},"272":{"tf":1.0},"34":{"tf":1.4142135623730951},"51":{"tf":1.0},"64":{"tf":1.0},"83":{"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":{"72":{"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":{"72":{"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":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"2":{"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":{}}}}},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"112":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":2.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"75":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"274":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.0}},"y":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"295":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":1,"docs":{"295":{"tf":1.0}},"t":{"df":1,"docs":{"295":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}}}}}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"170":{"tf":1.7320508075688772},"195":{"tf":1.0},"223":{"tf":2.23606797749979},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"161":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}},"df":12,"docs":{"124":{"tf":1.0},"126":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0},"64":{"tf":1.0},"73":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":69,"docs":{"127":{"tf":1.4142135623730951},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"138":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"140":{"tf":2.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"144":{"tf":2.0},"145":{"tf":1.0},"146":{"tf":2.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":2.0},"156":{"tf":1.7320508075688772},"159":{"tf":1.7320508075688772},"160":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"167":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":2.23606797749979},"177":{"tf":2.23606797749979},"188":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":3.3166247903554},"206":{"tf":2.0},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"221":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":2.449489742783178},"232":{"tf":2.449489742783178},"233":{"tf":3.0},"234":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":2.8284271247461903},"240":{"tf":2.0},"243":{"tf":1.0},"244":{"tf":2.0},"245":{"tf":2.0},"246":{"tf":3.0},"247":{"tf":1.7320508075688772},"248":{"tf":2.8284271247461903},"249":{"tf":2.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.7320508075688772},"48":{"tf":1.0},"65":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"139":{"tf":1.0},"156":{"tf":1.0},"176":{"tf":1.0},"244":{"tf":1.0}}},"(":{"df":1,"docs":{"199":{"tf":1.0}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"228":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"10":{"tf":1.0},"189":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.0},"293":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"219":{"tf":1.0}},"u":{"c":{"df":7,"docs":{"164":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.4142135623730951},"272":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0},"80":{"tf":1.0}},"t":{"df":2,"docs":{"244":{"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":{"231":{"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":{"231":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":4,"docs":{"219":{"tf":1.0},"220":{"tf":1.0},"260":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":110,"docs":{"101":{"tf":1.0},"107":{"tf":1.4142135623730951},"11":{"tf":1.0},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"15":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"173":{"tf":1.0},"189":{"tf":1.7320508075688772},"190":{"tf":1.4142135623730951},"194":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"199":{"tf":1.0},"200":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.0},"217":{"tf":2.23606797749979},"218":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"222":{"tf":1.4142135623730951},"23":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":2.8284271247461903},"257":{"tf":1.0},"259":{"tf":1.4142135623730951},"26":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":3.0},"264":{"tf":2.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":2.0},"281":{"tf":1.0},"284":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.4142135623730951},"300":{"tf":1.0},"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.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"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.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":2.0},"80":{"tf":1.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"221":{"tf":1.0},"229":{"tf":1.0},"259":{"tf":1.0}}}},"df":11,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"247":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"159":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":1.4142135623730951},"248":{"tf":1.0},"249":{"tf":1.0},"274":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":25,"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},"19":{"tf":1.0},"190":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"215":{"tf":1.0},"22":{"tf":1.0},"227":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"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":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"226":{"tf":1.0},"227":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"254":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"107":{"tf":1.0},"116":{"tf":1.0},"209":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":2.6457513110645907},"154":{"tf":1.4142135623730951},"288":{"tf":1.0},"293":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"280":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"i":{"d":{"df":73,"docs":{"1":{"tf":1.4142135623730951},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.7320508075688772},"143":{"tf":2.0},"152":{"tf":1.7320508075688772},"154":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"203":{"tf":1.4142135623730951},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":2.449489742783178},"212":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":2.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"222":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"236":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.4142135623730951},"288":{"tf":2.23606797749979},"291":{"tf":1.0},"293":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.4142135623730951},"297":{"tf":1.0},"298":{"tf":1.7320508075688772},"3":{"tf":1.0},"301":{"tf":1.0},"39":{"tf":1.0},"48":{"tf":1.7320508075688772},"76":{"tf":1.0},"82":{"tf":1.0},"86":{"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":{"235":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}}}},"t":{"df":1,"docs":{"288":{"tf":1.0}}},"v":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"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":{"203":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"222":{"tf":1.0}}}}}}},"df":6,"docs":{"170":{"tf":3.0},"172":{"tf":1.4142135623730951},"194":{"tf":1.0},"221":{"tf":1.4142135623730951},"227":{"tf":2.0},"228":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"192":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"12":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.4142135623730951},"243":{"tf":1.0},"271":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":13,"docs":{"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"122":{"tf":1.0},"140":{"tf":1.0},"166":{"tf":1.0},"205":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"82":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"220":{"tf":1.0}}}},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":6,"docs":{"156":{"tf":1.4142135623730951},"186":{"tf":1.0},"226":{"tf":1.0},"232":{"tf":1.0},"263":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"76":{"tf":1.0}}},"df":10,"docs":{"131":{"tf":1.0},"147":{"tf":1.0},"198":{"tf":1.0},"263":{"tf":1.4142135623730951},"268":{"tf":1.0},"50":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.0},"87":{"tf":1.4142135623730951},"94":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"80":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"235":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"244":{"tf":1.0}},"e":{"df":1,"docs":{"284":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"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":{"177":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":16,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"211":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":2.8284271247461903},"238":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":2.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"288":{"tf":1.0},"3":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"189":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"m":{"df":1,"docs":{"244":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"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":{"(":{"0":{"df":1,"docs":{"153":{"tf":1.0}}},"1":{"df":5,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.0}}},"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":{"137":{"tf":1.0},"139":{"tf":1.0},"177":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"153":{"tf":1.4142135623730951},"186":{"tf":1.0},"51":{"tf":1.4142135623730951}}}}}},"df":7,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.4142135623730951},"48":{"tf":1.0},"60":{"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":2,"docs":{"153":{"tf":1.0},"186":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"$":{"<":{"c":{"df":2,"docs":{"164":{"tf":1.0},"165":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"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":{"162":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":3,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"<":{"c":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"296":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}},"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":{"296":{"tf":2.8284271247461903}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"212":{"tf":1.0}},"g":{"df":4,"docs":{"101":{"tf":1.0},"222":{"tf":1.0},"258":{"tf":1.0},"280":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"174":{"tf":1.7320508075688772},"226":{"tf":1.0}}}},"w":{"df":3,"docs":{"205":{"tf":1.4142135623730951},"206":{"tf":1.0},"234":{"tf":1.0}},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"299":{"tf":1.0}}}}}}}},"df":10,"docs":{"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":2.6457513110645907},"51":{"tf":2.8284271247461903},"60":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"244":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"df":8,"docs":{"109":{"tf":1.0},"154":{"tf":1.0},"185":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"258":{"tf":1.0},"282":{"tf":1.0},"7":{"tf":1.0}}}},"d":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"286":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"232":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":35,"docs":{"142":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"189":{"tf":1.7320508075688772},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.7320508075688772},"222":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"241":{"tf":1.0},"247":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"286":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"77":{"tf":1.4142135623730951},"80":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"131":{"tf":1.0},"93":{"tf":1.0}}}},"i":{"df":6,"docs":{"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":1.7320508075688772},"244":{"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"286":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"162":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"215":{"tf":1.0},"232":{"tf":1.0}}}},"z":{"df":2,"docs":{"147":{"tf":1.0},"155":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"156":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":1.0},"233":{"tf":1.0},"245":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.4142135623730951},"288":{"tf":1.0},"48":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"165":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.4142135623730951},"274":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":7,"docs":{"160":{"tf":1.0},"206":{"tf":1.0},"233":{"tf":1.4142135623730951},"238":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"10":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.4142135623730951},"224":{"tf":1.0},"247":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"282":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}},"r":{"d":{"df":10,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.4142135623730951},"293":{"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":{"249":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"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":{"72":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"128":{"tf":2.23606797749979},"129":{"tf":1.7320508075688772},"130":{"tf":3.3166247903554},"186":{"tf":3.0},"187":{"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":{"231":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"51":{"tf":1.0},"74":{"tf":2.0}},"u":{"c":{"df":3,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"155":{"tf":1.4142135623730951}},"e":{"(":{"[":{"1":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"a":{"df":2,"docs":{"155":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":9,"docs":{"114":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":1.7320508075688772},"247":{"tf":1.7320508075688772},"248":{"tf":1.0},"297":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"272":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":34,"docs":{"110":{"tf":1.0},"117":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.0},"146":{"tf":2.0},"147":{"tf":1.7320508075688772},"16":{"tf":1.0},"161":{"tf":1.0},"17":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":3.1622776601683795},"19":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"219":{"tf":1.4142135623730951},"23":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":2.0},"266":{"tf":1.0},"273":{"tf":1.4142135623730951},"291":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.4142135623730951},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":14,"docs":{"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"183":{"tf":1.0},"211":{"tf":1.4142135623730951},"215":{"tf":1.0},"25":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"131":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"162":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"230":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"300":{"tf":2.23606797749979}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.0}}}},"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":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"220":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"174":{"tf":1.0},"231":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"205":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"108":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.4142135623730951},"159":{"tf":1.0},"173":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.23606797749979},"214":{"tf":1.0},"220":{"tf":1.0},"74":{"tf":1.0}},"e":{"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"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":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"149":{"tf":1.0},"17":{"tf":1.0},"222":{"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":8,"docs":{"107":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"231":{"tf":1.0},"264":{"tf":1.0}}}}}}}}}}},"df":6,"docs":{"257":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":9,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"194":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"260":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"110":{"tf":1.0},"158":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0}}},"o":{"a":{"d":{"df":1,"docs":{"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"154":{"tf":1.0},"230":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0}}}},"p":{"df":1,"docs":{"293":{"tf":1.0}},"p":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"226":{"tf":1.0},"239":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"272":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"269":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}},"v":{"df":4,"docs":{"262":{"tf":1.0},"291":{"tf":3.0},"293":{"tf":3.0},"298":{"tf":2.8284271247461903}},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":3.0}}}}}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"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":{},"f":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"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":{}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":2.0}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}},"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":{"110":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"110":{"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":{"235":{"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":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"299":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"125":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"184":{"tf":1.0},"269":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"63":{"tf":4.47213595499958}},"e":{"d":{"(":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"272":{"tf":1.0}}}}}},"l":{"a":{"c":{"df":6,"docs":{"261":{"tf":1.0},"262":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.449489742783178},"300":{"tf":1.7320508075688772},"66":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":19,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":46,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"147":{"tf":1.0},"152":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"25":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":2.449489742783178},"209":{"tf":3.1622776601683795},"286":{"tf":1.0},"301":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"q":{"df":2,"docs":{"209":{"tf":1.0},"221":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"176":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.4142135623730951},"221":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":2.0},"244":{"tf":3.0},"254":{"tf":1.0},"255":{"tf":2.6457513110645907},"256":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":44,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772},"115":{"tf":1.0},"119":{"tf":1.0},"127":{"tf":1.4142135623730951},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"145":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":2.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.23606797749979},"160":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"204":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"255":{"tf":1.0},"266":{"tf":1.0},"271":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"83":{"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":{"177":{"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":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"272":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.0},"169":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"221":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}},"v":{"df":7,"docs":{"177":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"21":{"tf":1.0},"244":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"171":{"tf":1.0},"173":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":14,"docs":{"189":{"tf":3.1622776601683795},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"25":{"tf":1.7320508075688772},"257":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.0},"27":{"tf":1.0},"286":{"tf":2.23606797749979},"30":{"tf":1.0},"37":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}}}}}}}},"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}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":4,"docs":{"221":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0}},"e":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"231":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":20,"docs":{"103":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.7320508075688772},"148":{"tf":1.7320508075688772},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"156":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"188":{"tf":2.0},"209":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":2.23606797749979},"243":{"tf":2.0},"249":{"tf":1.0},"251":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":27,"docs":{"131":{"tf":1.0},"154":{"tf":2.0},"156":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0},"182":{"tf":1.0},"196":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.0},"240":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"249":{"tf":1.0},"255":{"tf":1.0},"264":{"tf":1.0},"288":{"tf":2.23606797749979},"291":{"tf":2.6457513110645907},"293":{"tf":1.7320508075688772},"298":{"tf":2.449489742783178},"299":{"tf":1.0},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":66,"docs":{"110":{"tf":1.4142135623730951},"115":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"138":{"tf":2.6457513110645907},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":2.6457513110645907},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"158":{"tf":1.4142135623730951},"161":{"tf":2.23606797749979},"162":{"tf":2.449489742783178},"163":{"tf":1.7320508075688772},"164":{"tf":3.0},"165":{"tf":3.605551275463989},"166":{"tf":1.0},"168":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"175":{"tf":3.0},"176":{"tf":2.23606797749979},"177":{"tf":2.449489742783178},"180":{"tf":1.7320508075688772},"184":{"tf":1.0},"186":{"tf":2.449489742783178},"188":{"tf":1.0},"193":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"219":{"tf":2.0},"221":{"tf":1.4142135623730951},"235":{"tf":2.0},"242":{"tf":1.0},"244":{"tf":1.4142135623730951},"245":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"288":{"tf":4.123105625617661},"291":{"tf":4.242640687119285},"293":{"tf":6.082762530298219},"298":{"tf":4.0},"35":{"tf":1.0},"48":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772},"90":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"190":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"271":{"tf":1.0}}}},"df":0,"docs":{}},"df":24,"docs":{"140":{"tf":1.0},"158":{"tf":1.4142135623730951},"196":{"tf":1.0},"242":{"tf":1.0},"247":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":2.0},"266":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.7320508075688772},"271":{"tf":1.4142135623730951},"272":{"tf":2.0},"273":{"tf":2.23606797749979},"274":{"tf":1.7320508075688772},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"6":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"269":{"tf":1.0}}}}}}}}}},"h":{"df":7,"docs":{"134":{"tf":1.4142135623730951},"135":{"tf":2.0},"145":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.7320508075688772},"192":{"tf":1.4142135623730951},"193":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":10,"docs":{"128":{"tf":2.8284271247461903},"129":{"tf":2.6457513110645907},"130":{"tf":1.0},"154":{"tf":1.0},"179":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"204":{"tf":1.0},"252":{"tf":1.0},"268":{"tf":1.0},"291":{"tf":1.4142135623730951}}}},"i":{"d":{"df":1,"docs":{"277":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"208":{"tf":1.0},"226":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"153":{"tf":2.0},"51":{"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":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"280":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":13,"docs":{"128":{"tf":1.0},"16":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"235":{"tf":1.4142135623730951},"239":{"tf":1.0},"24":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.4142135623730951},"25":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"n":{"d":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"82":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"167":{"tf":1.0},"255":{"tf":1.0},"65":{"tf":1.0}}}},"w":{"df":2,"docs":{"126":{"tf":1.0},"83":{"tf":2.6457513110645907}}}},"p":{"c":{"df":2,"docs":{"221":{"tf":1.0},"235":{"tf":1.0}}},"df":0,"docs":{}},"u":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":11,"docs":{"18":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"93":{"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":33,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"147":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.4142135623730951},"196":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"217":{"tf":2.23606797749979},"22":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":2.23606797749979},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"235":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":2.0},"255":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"288":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"50":{"tf":1.0},"65":{"tf":1.0},"81":{"tf":1.0},"9":{"tf":1.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":29,"docs":{"102":{"tf":2.23606797749979},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"137":{"tf":1.7320508075688772},"160":{"tf":1.7320508075688772},"167":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"175":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.0},"189":{"tf":1.0},"2":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"261":{"tf":1.0},"291":{"tf":1.4142135623730951},"300":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"242":{"tf":1.0},"247":{"tf":1.0},"248":{"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":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"151":{"tf":1.0}}}}}},"s":{"/":{"\\":{"\"":{"/":{"\\":{"\\":{"\\":{"\\":{"\\":{"\"":{"/":{"df":0,"docs":{},"g":{"df":1,"docs":{"262":{"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":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":15,"docs":{"137":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":2.0},"243":{"tf":1.7320508075688772},"244":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"297":{"tf":1.0},"300":{"tf":1.0},"90":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}},"r":{"df":4,"docs":{"101":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"177":{"tf":1.0}}},"2":{"df":1,"docs":{"175":{"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":1,"docs":{"175":{"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":{"175":{"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":{"175":{"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":{"175":{"tf":1.7320508075688772},"177":{"tf":1.0}}}}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"239":{"tf":1.0},"243":{"tf":1.0},"86":{"tf":1.7320508075688772},"90":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":7,"docs":{"131":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.4142135623730951},"185":{"tf":1.0},"199":{"tf":1.0},"279":{"tf":1.0},"48":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":42,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"157":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"183":{"tf":1.0},"187":{"tf":1.7320508075688772},"201":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"279":{"tf":1.0},"288":{"tf":1.7320508075688772},"291":{"tf":1.0},"34":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"87":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"h":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":7,"docs":{"173":{"tf":1.0},"193":{"tf":1.4142135623730951},"206":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.0}}}}}}},"w":{"df":1,"docs":{"274":{"tf":1.0}}},"y":{"df":1,"docs":{"156":{"tf":1.0}}}},"b":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}},"df":2,"docs":{"110":{"tf":2.23606797749979},"170":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"=":{"1":{".":{"0":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"244":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"297":{"tf":5.196152422706632}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":8,"docs":{"211":{"tf":1.0},"231":{"tf":2.23606797749979},"233":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":2.0},"255":{"tf":1.0},"288":{"tf":1.7320508075688772},"3":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"257":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"102":{"tf":1.0},"112":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":2.23606797749979},"214":{"tf":1.4142135623730951},"250":{"tf":1.0},"69":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"262":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"32":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":14,"docs":{"155":{"tf":1.0},"243":{"tf":1.0},"27":{"tf":1.0},"300":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"51":{"tf":3.3166247903554},"52":{"tf":2.449489742783178},"60":{"tf":2.0},"65":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.4142135623730951},"184":{"tf":2.23606797749979},"291":{"tf":2.449489742783178},"298":{"tf":2.449489742783178}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"229":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":39,"docs":{"110":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"198":{"tf":1.4142135623730951},"201":{"tf":1.0},"228":{"tf":1.4142135623730951},"236":{"tf":1.0},"241":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"271":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.7320508075688772},"277":{"tf":2.0},"278":{"tf":1.0},"279":{"tf":1.7320508075688772},"28":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":28,"docs":{"101":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":2.0},"184":{"tf":1.0},"19":{"tf":1.0},"194":{"tf":1.0},"20":{"tf":1.0},"229":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"255":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951},"284":{"tf":1.0},"291":{"tf":1.0},"296":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"m":{"df":6,"docs":{"150":{"tf":1.0},"172":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"215":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"210":{"tf":1.0}}}}}}}},"n":{"df":10,"docs":{"131":{"tf":1.0},"156":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"198":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"275":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":7,"docs":{"115":{"tf":1.0},"128":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.0},"151":{"tf":1.0},"33":{"tf":1.0},"93":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":14,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"150":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"73":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":4,"docs":{"209":{"tf":1.0},"221":{"tf":1.7320508075688772},"235":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":6,"docs":{"150":{"tf":1.0},"184":{"tf":1.0},"230":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"209":{"tf":1.4142135623730951}}}}},"t":{"df":1,"docs":{"221":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":10,"docs":{"165":{"tf":1.0},"198":{"tf":1.7320508075688772},"228":{"tf":1.0},"25":{"tf":1.0},"261":{"tf":1.0},"270":{"tf":1.0},"288":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"189":{"tf":1.0},"263":{"tf":1.4142135623730951},"45":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"234":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":3,"docs":{"255":{"tf":1.0},"261":{"tf":1.0},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"213":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"257":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"213":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951}}}}}}}},"df":12,"docs":{"210":{"tf":2.449489742783178},"212":{"tf":2.0},"213":{"tf":1.4142135623730951},"221":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":2.449489742783178},"252":{"tf":3.1622776601683795},"253":{"tf":1.0},"254":{"tf":2.23606797749979},"255":{"tf":1.4142135623730951},"256":{"tf":2.8284271247461903},"257":{"tf":1.7320508075688772}}}},"i":{"c":{"df":12,"docs":{"215":{"tf":1.4142135623730951},"221":{"tf":2.8284271247461903},"230":{"tf":1.0},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":2.0},"253":{"tf":2.0},"254":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951}},"e":{"'":{"df":2,"docs":{"255":{"tf":1.0},"261":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":31,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"191":{"tf":1.0},"194":{"tf":1.0},"215":{"tf":1.4142135623730951},"216":{"tf":1.7320508075688772},"219":{"tf":1.4142135623730951},"224":{"tf":1.0},"228":{"tf":1.0},"242":{"tf":1.0},"252":{"tf":1.0},"276":{"tf":1.0},"28":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":3.7416573867739413},"298":{"tf":6.782329983125268},"45":{"tf":1.0},"57":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":2.23606797749979},"82":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":2.449489742783178},"95":{"tf":3.1622776601683795}},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":1,"docs":{"95":{"tf":1.0}}},"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"11":{"tf":1.0},"266":{"tf":1.0},"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"187":{"tf":2.0},"202":{"tf":1.0},"45":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"149":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"85":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":18,"docs":{"140":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":3.0},"211":{"tf":1.0},"221":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.7320508075688772},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"266":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":2.23606797749979},"276":{"tf":1.0},"277":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"p":{"df":1,"docs":{"173":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"117":{"tf":1.0},"203":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"274":{"tf":1.4142135623730951},"33":{"tf":1.0},"93":{"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":{"142":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"142":{"tf":1.0}}},"df":2,"docs":{"231":{"tf":2.23606797749979},"45":{"tf":1.0}},"n":{"df":2,"docs":{"115":{"tf":1.0},"156":{"tf":1.0}}},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"142":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"153":{"tf":1.0},"256":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":22,"docs":{"127":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"151":{"tf":1.4142135623730951},"156":{"tf":2.449489742783178},"159":{"tf":1.0},"167":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":3.0},"210":{"tf":1.0},"247":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"36":{"tf":1.0},"91":{"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":3,"docs":{"231":{"tf":1.0},"252":{"tf":1.0},"77":{"tf":1.0}}}}}}},"df":9,"docs":{"182":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.7320508075688772},"230":{"tf":1.0},"259":{"tf":1.0},"268":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"104":{"tf":1.0},"157":{"tf":1.0},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"189":{"tf":1.0},"279":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":31,"docs":{"1":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"118":{"tf":1.0},"128":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"232":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.4142135623730951},"29":{"tf":1.0},"299":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"172":{"tf":1.0},"189":{"tf":1.0},"293":{"tf":1.0},"80":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}}}}},"i":{"df":44,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.7320508075688772},"249":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":2.0},"266":{"tf":1.0},"274":{"tf":1.0},"278":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"93":{"tf":1.0}},"f":{"df":1,"docs":{"160":{"tf":1.0}},"i":{"df":4,"docs":{"157":{"tf":1.0},"48":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"180":{"tf":1.0},"201":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":44,"docs":{"129":{"tf":1.0},"140":{"tf":1.4142135623730951},"150":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"170":{"tf":1.4142135623730951},"187":{"tf":2.0},"193":{"tf":1.0},"2":{"tf":1.0},"212":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"214":{"tf":1.0}}}}}}}},"k":{"df":1,"docs":{"65":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"261":{"tf":1.0},"263":{"tf":1.0}}},"df":3,"docs":{"156":{"tf":1.0},"175":{"tf":1.0},"263":{"tf":2.449489742783178}}},"u":{"a":{"df":0,"docs":{},"t":{"df":16,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":2.0},"138":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"225":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"75":{"tf":2.0}}},"z":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":7,"docs":{"100":{"tf":1.0},"199":{"tf":1.0},"209":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"6":{"tf":1.0},"80":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"68":{"tf":2.0}}}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":6,"docs":{"169":{"tf":1.0},"196":{"tf":1.0},"215":{"tf":1.0},"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"83":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"172":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"102":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"173":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"116":{"tf":1.7320508075688772},"137":{"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":{"263":{"tf":1.0}}},"df":2,"docs":{"131":{"tf":1.0},"263":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"161":{"tf":1.0},"178":{"tf":1.0},"215":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"122":{"tf":1.0},"167":{"tf":1.0},"93":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"17":{"tf":1.0}}}},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"226":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"224":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{"_":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"_":{"_":{"df":1,"docs":{"225":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"_":{"df":1,"docs":{"226":{"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":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"229":{"tf":1.0}}}},"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"240":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"133":{"tf":1.0},"140":{"tf":1.0},"188":{"tf":1.0},"220":{"tf":1.0},"267":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"222":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":22,"docs":{"107":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"174":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"242":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"32":{"tf":1.0},"65":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"111":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"172":{"tf":1.0},"203":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"265":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"233":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"226":{"tf":1.0},"288":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"259":{"tf":1.0},"275":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":15,"docs":{"107":{"tf":1.4142135623730951},"115":{"tf":1.0},"137":{"tf":1.0},"163":{"tf":1.0},"184":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.4142135623730951},"252":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":30,"docs":{"11":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"173":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"193":{"tf":2.0},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"228":{"tf":1.4142135623730951},"260":{"tf":2.23606797749979},"261":{"tf":2.449489742783178},"262":{"tf":1.4142135623730951},"263":{"tf":1.7320508075688772},"264":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"153":{"tf":1.0},"163":{"tf":1.0},"277":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"173":{"tf":2.0}}}}}}}},"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}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"226":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"119":{"tf":1.0},"127":{"tf":1.0},"160":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"186":{"tf":1.0},"215":{"tf":1.0},"25":{"tf":1.0},"266":{"tf":1.0},"278":{"tf":1.0},"49":{"tf":1.0},"69":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"235":{"tf":2.0}}}}}}},"df":0,"docs":{},"f":{"df":22,"docs":{"125":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"164":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"183":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"224":{"tf":1.7320508075688772},"231":{"tf":1.0},"25":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"80":{"tf":1.0}},"i":{"df":13,"docs":{"156":{"tf":1.4142135623730951},"173":{"tf":1.0},"204":{"tf":1.0},"215":{"tf":1.0},"263":{"tf":2.0},"291":{"tf":4.358898943540674},"293":{"tf":4.69041575982343},"298":{"tf":2.8284271247461903},"72":{"tf":1.0},"8":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"115":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}},"n":{"d":{"df":2,"docs":{"261":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"270":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"215":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"193":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":3,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"210":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"72":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}},"e":{"(":{"2":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":1,"docs":{"230":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}}}}},"r":{"c":{"df":21,"docs":{"195":{"tf":1.4142135623730951},"199":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.23606797749979},"270":{"tf":2.6457513110645907},"272":{"tf":1.4142135623730951},"273":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772},"286":{"tf":1.4142135623730951},"37":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"151":{"tf":1.0},"186":{"tf":1.7320508075688772},"45":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"282":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"n":{"c":{"df":3,"docs":{"151":{"tf":1.0},"259":{"tf":1.0},"93":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"217":{"tf":1.0}}}}},"r":{"d":{"df":9,"docs":{"203":{"tf":1.0},"220":{"tf":1.0},"276":{"tf":1.7320508075688772},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"268":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":51,"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},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"208":{"tf":1.4142135623730951},"21":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"217":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":2.6457513110645907},"26":{"tf":1.0},"263":{"tf":2.0},"27":{"tf":1.0},"271":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.0},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"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},"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}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":19,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"147":{"tf":1.4142135623730951},"150":{"tf":2.0},"152":{"tf":1.0},"153":{"tf":1.0},"211":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"272":{"tf":1.7320508075688772},"273":{"tf":2.6457513110645907},"274":{"tf":2.0},"279":{"tf":1.0},"80":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":15,"docs":{"109":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"212":{"tf":1.0},"25":{"tf":1.0},"263":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"i":{"c":{"_":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}}}}},"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":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"219":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{"81":{"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":74,"docs":{"1":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"119":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.7320508075688772},"150":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":2.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"170":{"tf":1.7320508075688772},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.0},"181":{"tf":1.0},"186":{"tf":1.0},"189":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":3.0},"211":{"tf":2.449489742783178},"212":{"tf":2.0},"213":{"tf":2.8284271247461903},"214":{"tf":3.3166247903554},"215":{"tf":2.23606797749979},"216":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":2.6457513110645907},"220":{"tf":1.4142135623730951},"221":{"tf":1.7320508075688772},"228":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"244":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"251":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"273":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"3":{"tf":1.0},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":2.0},"75":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"288":{"tf":1.0}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"d":{".":{"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":{"201":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"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":5,"docs":{"152":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}},"s":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}}},"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":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"b":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"154":{"tf":1.7320508075688772}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"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":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":2.0}}}},"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":7,"docs":{"152":{"tf":1.4142135623730951},"161":{"tf":2.23606797749979},"162":{"tf":2.0},"164":{"tf":2.6457513110645907},"165":{"tf":3.1622776601683795},"175":{"tf":1.0},"291":{"tf":3.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":2.23606797749979}}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"286":{"tf":1.0}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"d":{"df":1,"docs":{"206":{"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":{"125":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}},"t":{"df":3,"docs":{"152":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":3,"docs":{"153":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"110":{"tf":1.4142135623730951},"128":{"tf":2.449489742783178},"129":{"tf":2.449489742783178},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"152":{"tf":1.0},"201":{"tf":1.0},"299":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"b":{"'":{"df":8,"docs":{"189":{"tf":1.0},"199":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.0},"242":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"99":{"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":{},"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":{"164":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":27,"docs":{"194":{"tf":1.7320508075688772},"242":{"tf":1.7320508075688772},"243":{"tf":2.449489742783178},"27":{"tf":1.0},"281":{"tf":1.7320508075688772},"282":{"tf":1.4142135623730951},"283":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"294":{"tf":1.4142135623730951},"295":{"tf":1.4142135623730951},"296":{"tf":1.4142135623730951},"297":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951},"299":{"tf":1.7320508075688772},"300":{"tf":1.4142135623730951},"301":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"99":{"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":10,"docs":{"130":{"tf":1.0},"230":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":1.0},"260":{"tf":1.4142135623730951},"273":{"tf":1.0},"275":{"tf":1.0},"37":{"tf":1.0},"65":{"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":37,"docs":{"13":{"tf":1.0},"132":{"tf":1.0},"150":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"172":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"239":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"251":{"tf":1.0},"273":{"tf":1.4142135623730951},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"164":{"tf":1.0},"171":{"tf":1.0},"288":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"244":{"tf":1.0},"89":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"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":{"140":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"189":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"151":{"tf":1.0},"157":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"\"":{"%":{"df":0,"docs":{},"s":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{".":{"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":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}}},"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":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"301":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"110":{"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":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"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":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"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":2,"docs":{"170":{"tf":1.4142135623730951},"301":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}},"df":77,"docs":{"101":{"tf":2.6457513110645907},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"109":{"tf":2.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.4142135623730951},"155":{"tf":1.0},"158":{"tf":2.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.23606797749979},"168":{"tf":2.8284271247461903},"170":{"tf":3.3166247903554},"171":{"tf":2.8284271247461903},"172":{"tf":2.449489742783178},"194":{"tf":1.4142135623730951},"199":{"tf":1.7320508075688772},"202":{"tf":3.0},"203":{"tf":1.0},"207":{"tf":2.0},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"212":{"tf":1.0},"213":{"tf":2.0},"215":{"tf":1.4142135623730951},"219":{"tf":2.0},"220":{"tf":2.0},"228":{"tf":1.0},"229":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":2.6457513110645907},"260":{"tf":1.0},"261":{"tf":1.7320508075688772},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"272":{"tf":2.0},"273":{"tf":2.449489742783178},"274":{"tf":2.23606797749979},"279":{"tf":1.0},"283":{"tf":1.0},"285":{"tf":1.4142135623730951},"286":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"297":{"tf":2.6457513110645907},"299":{"tf":1.0},"300":{"tf":9.0},"301":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":3.3166247903554},"49":{"tf":2.8284271247461903},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.7320508075688772},"93":{"tf":1.0},"96":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"170":{"tf":3.0},"172":{"tf":1.0}}},"y":{"<":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}},"t":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}},"v":{"df":1,"docs":{"172":{"tf":1.0}}}},"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":2,"docs":{"199":{"tf":1.0},"202":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"27":{"tf":1.0},"35":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"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":{"65":{"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":{}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"257":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"166":{"tf":1.0},"86":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"273":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":35,"docs":{"104":{"tf":2.23606797749979},"105":{"tf":1.7320508075688772},"106":{"tf":2.0},"110":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"213":{"tf":1.7320508075688772},"220":{"tf":1.0},"257":{"tf":2.0},"266":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"297":{"tf":1.0},"299":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"83":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":29,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"128":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"179":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"209":{"tf":1.7320508075688772},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":2.0},"243":{"tf":1.4142135623730951},"257":{"tf":1.0},"259":{"tf":1.0},"277":{"tf":1.7320508075688772},"3":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"70":{"tf":2.0},"71":{"tf":2.23606797749979},"85":{"tf":1.0},"90":{"tf":1.0}}}},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"133":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"245":{"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":{"150":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":2.23606797749979},"39":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"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":{"107":{"tf":2.0},"140":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"232":{"tf":1.7320508075688772},"235":{"tf":2.8284271247461903}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":1.0},"209":{"tf":1.0},"219":{"tf":1.0},"263":{"tf":1.0}}}},"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":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"226":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":2.0},"137":{"tf":2.23606797749979},"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":3,"docs":{"208":{"tf":1.0},"288":{"tf":2.0},"291":{"tf":1.7320508075688772}}}},"t":{"df":2,"docs":{"268":{"tf":1.0},"298":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"187":{"tf":1.0},"229":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}}},"i":{"df":1,"docs":{"201":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":7,"docs":{"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"172":{"tf":2.23606797749979}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"288":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.0},"288":{"tf":2.0},"75":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":8,"docs":{"189":{"tf":1.0},"196":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.4142135623730951},"260":{"tf":1.0},"32":{"tf":1.0},"66":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":24,"docs":{"122":{"tf":1.0},"135":{"tf":1.0},"151":{"tf":1.4142135623730951},"156":{"tf":1.0},"165":{"tf":1.0},"190":{"tf":1.0},"209":{"tf":1.4142135623730951},"211":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"249":{"tf":1.0},"254":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"185":{"tf":1.0},"246":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"158":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"266":{"tf":1.0},"280":{"tf":1.0}}}},"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":3,"docs":{"271":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":2.449489742783178}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"135":{"tf":1.0},"145":{"tf":1.0},"203":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"210":{"tf":1.0},"220":{"tf":1.0},"282":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"252":{"tf":1.0}}}},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":49,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"107":{"tf":1.7320508075688772},"109":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.7320508075688772},"135":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.4142135623730951},"180":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.7320508075688772},"220":{"tf":2.0},"221":{"tf":1.0},"252":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.7320508075688772},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"274":{"tf":1.4142135623730951},"277":{"tf":1.0},"280":{"tf":1.0},"284":{"tf":1.0},"296":{"tf":1.0},"300":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"98":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"18":{"tf":1.0},"220":{"tf":1.0},"267":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"2":{"tf":1.0},"228":{"tf":2.23606797749979},"229":{"tf":1.7320508075688772},"271":{"tf":1.4142135623730951},"78":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":1,"docs":{"114":{"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":{"66":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"126":{"tf":1.0},"148":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":1,"docs":{"268":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"238":{"tf":1.0},"288":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"132":{"tf":1.0},"142":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":20,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"201":{"tf":1.4142135623730951},"203":{"tf":1.7320508075688772},"210":{"tf":1.4142135623730951},"231":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.7320508075688772},"253":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":2.0},"88":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"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":1,"docs":{"172":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"x":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":57,"docs":{"119":{"tf":1.0},"13":{"tf":1.4142135623730951},"151":{"tf":1.0},"169":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":2.23606797749979},"191":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"200":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.4142135623730951},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}}}},"t":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"137":{"tf":1.0},"139":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"230":{"tf":1.0}},"e":{"\"":{"/":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"174":{"tf":1.0},"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":41,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"15":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"198":{"tf":1.0},"206":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.4142135623730951},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"273":{"tf":1.0},"296":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"n":{"df":2,"docs":{"184":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"223":{"tf":1.0}}},"df":29,"docs":{"189":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"196":{"tf":1.4142135623730951},"199":{"tf":1.4142135623730951},"204":{"tf":1.0},"223":{"tf":2.23606797749979},"224":{"tf":2.23606797749979},"225":{"tf":1.4142135623730951},"226":{"tf":1.7320508075688772},"227":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":2.0},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"286":{"tf":1.0},"30":{"tf":1.7320508075688772},"300":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"178":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":3.3166247903554},"48":{"tf":1.0},"63":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":5,"docs":{"231":{"tf":1.0},"232":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}},"df":37,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":2.0},"156":{"tf":2.449489742783178},"159":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":2.23606797749979},"171":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":2.449489742783178},"175":{"tf":1.0},"181":{"tf":2.0},"188":{"tf":1.0},"192":{"tf":2.449489742783178},"201":{"tf":1.0},"247":{"tf":2.0},"248":{"tf":1.4142135623730951},"284":{"tf":4.123105625617661},"288":{"tf":1.0},"291":{"tf":8.426149773176359},"295":{"tf":2.23606797749979},"298":{"tf":7.810249675906654},"299":{"tf":1.0},"301":{"tf":1.0},"73":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"83":{"tf":2.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"119":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"144":{"tf":1.0},"209":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"156":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"249":{"tf":1.0},"261":{"tf":2.23606797749979},"262":{"tf":1.7320508075688772},"263":{"tf":2.23606797749979},"48":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"n":{"d":{"df":5,"docs":{"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0}}},"df":2,"docs":{"108":{"tf":1.0},"109":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":4,"docs":{"167":{"tf":1.0},"17":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"130":{"tf":1.0},"186":{"tf":1.0},"256":{"tf":1.0},"288":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"197":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"215":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"219":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"13":{"tf":1.0},"184":{"tf":1.4142135623730951},"197":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.4142135623730951},"43":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"%":{"2":{"0":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"%":{"2":{"0":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{",":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"%":{"2":{"c":{"%":{"2":{"0":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"(":{")":{"%":{"3":{"b":{"df":1,"docs":{"291":{"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":{}},"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":10,"docs":{"11":{"tf":1.0},"189":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"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":{"65":{"tf":2.0}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":3,"docs":{"221":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"165":{"tf":1.0},"201":{"tf":1.0},"230":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}}}}}}},"t":{"'":{"df":10,"docs":{"107":{"tf":1.0},"129":{"tf":1.0},"210":{"tf":1.0},"220":{"tf":1.0},"229":{"tf":1.0},"256":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"278":{"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":8,"docs":{"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"274":{"tf":1.0},"39":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":18,"docs":{"156":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"181":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"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":{"124":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"206":{"tf":1.0},"238":{"tf":1.0},"246":{"tf":1.0}}}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"196":{"tf":1.0},"255":{"tf":1.0}}}},"r":{"df":5,"docs":{"140":{"tf":1.0},"201":{"tf":1.0},"272":{"tf":1.0},"288":{"tf":1.0},"298":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":23,"docs":{"157":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.0},"245":{"tf":1.4142135623730951},"254":{"tf":1.0},"263":{"tf":1.4142135623730951},"269":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":14,"docs":{"134":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.0},"208":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"93":{"tf":1.0}}}},"r":{"d":{"df":2,"docs":{"137":{"tf":1.0},"229":{"tf":1.0}}},"df":0,"docs":{}},"s":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":2.449489742783178}},"p":{"df":0,"docs":{},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"209":{"tf":1.0},"231":{"tf":1.0},"27":{"tf":1.0},"276":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"115":{"tf":1.0},"122":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"48":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":19,"docs":{"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"211":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"231":{"tf":2.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.7320508075688772},"237":{"tf":1.7320508075688772},"238":{"tf":2.0},"239":{"tf":3.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":2.23606797749979},"243":{"tf":2.23606797749979},"244":{"tf":4.69041575982343},"246":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":1.7320508075688772},"297":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"231":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"170":{"tf":1.0},"171":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":21,"docs":{"107":{"tf":1.0},"131":{"tf":1.0},"15":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.0},"34":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"140":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"247":{"tf":1.0},"264":{"tf":1.0},"47":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"242":{"tf":1.0},"244":{"tf":1.4142135623730951}}}}}}}},"w":{"df":3,"docs":{"151":{"tf":1.0},"300":{"tf":1.0},"50":{"tf":1.0}},"n":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"u":{"df":1,"docs":{"183":{"tf":1.0}},"m":{"b":{"df":2,"docs":{"208":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":1,"docs":{"255":{"tf":1.0}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"260":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"198":{"tf":1.0},"228":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"273":{"tf":1.0}}},"df":90,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":2.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":2.449489742783178},"186":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"226":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":2.8284271247461903},"260":{"tf":2.0},"261":{"tf":2.23606797749979},"262":{"tf":1.0},"263":{"tf":2.6457513110645907},"264":{"tf":1.4142135623730951},"265":{"tf":1.7320508075688772},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":2.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"277":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.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":{"115":{"tf":1.0},"124":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.7320508075688772}},"e":{">":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"l":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"a":{"d":{"d":{"df":4,"docs":{"291":{"tf":1.7320508075688772},"298":{"tf":2.0},"301":{"tf":1.0},"91":{"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":{"150":{"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":{"150":{"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":13,"docs":{"169":{"tf":1.0},"172":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"284":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"291":{"tf":3.1622776601683795},"293":{"tf":3.0},"296":{"tf":1.0},"298":{"tf":2.449489742783178},"300":{"tf":1.4142135623730951},"80":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"138":{"tf":1.0},"237":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.0},"43":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"215":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"249":{"tf":1.0},"291":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"k":{"df":1,"docs":{"184":{"tf":1.0}}},"l":{"df":8,"docs":{"140":{"tf":1.0},"151":{"tf":1.0},"172":{"tf":1.0},"2":{"tf":1.0},"209":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"276":{"tf":1.0}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"152":{"tf":1.7320508075688772}}}}}},"p":{"df":14,"docs":{"17":{"tf":1.0},"233":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"250":{"tf":1.0},"251":{"tf":1.7320508075688772},"263":{"tf":2.23606797749979},"271":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"155":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"155":{"tf":1.0},"229":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0}}}},"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":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"15":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"252":{"tf":1.0},"274":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"239":{"tf":1.0},"4":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"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":2,"docs":{"260":{"tf":1.0},"76":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"196":{"tf":1.0},"211":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"179":{"tf":1.0},"244":{"tf":1.0}}}}}}},"df":1,"docs":{"262":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"173":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"153":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":2.0},"129":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":21,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"130":{"tf":1.4142135623730951},"164":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"207":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.0},"220":{"tf":1.0},"233":{"tf":1.0},"256":{"tf":1.0},"264":{"tf":1.4142135623730951},"276":{"tf":1.0},"277":{"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":4,"docs":{"130":{"tf":1.0},"159":{"tf":1.0},"235":{"tf":1.0},"25":{"tf":1.0}}}}}},"m":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":2,"docs":{"27":{"tf":1.0},"291":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"110":{"tf":1.7320508075688772},"152":{"tf":1.0},"172":{"tf":1.0},"190":{"tf":1.0},"231":{"tf":1.0},"255":{"tf":1.0},"261":{"tf":1.0},"75":{"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":18,"docs":{"132":{"tf":2.0},"160":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":3.0},"291":{"tf":3.0},"293":{"tf":1.7320508075688772},"298":{"tf":3.7416573867739413},"45":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"169":{"tf":1.0},"64":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"260":{"tf":1.0},"263":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":9,"docs":{"100":{"tf":2.0},"101":{"tf":2.23606797749979},"102":{"tf":1.0},"103":{"tf":3.1622776601683795},"104":{"tf":1.0},"137":{"tf":2.23606797749979},"203":{"tf":1.0},"59":{"tf":1.0},"71":{"tf":1.0}},"e":{".":{".":{".":{"&":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"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":{"186":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"114":{"tf":1.0},"130":{"tf":1.7320508075688772},"132":{"tf":1.0}}}}},"k":{"df":3,"docs":{"293":{"tf":2.0},"58":{"tf":1.0},"98":{"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":{"130":{"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":{"181":{"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":{"101":{"tf":1.0}}},"6":{"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":{}},"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":{"102":{"tf":1.0}}},"6":{"df":1,"docs":{"102":{"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":{"103":{"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":2,"docs":{"238":{"tf":1.0},"244":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"184":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":22,"docs":{"118":{"tf":1.0},"128":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"183":{"tf":1.0},"185":{"tf":1.0},"198":{"tf":1.0},"205":{"tf":1.0},"211":{"tf":1.0},"228":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"253":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"298":{"tf":2.23606797749979},"64":{"tf":1.0},"75":{"tf":2.8284271247461903}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":6,"docs":{"188":{"tf":1.7320508075688772},"201":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":2.0},"209":{"tf":1.7320508075688772},"243":{"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":{"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":1,"docs":{"158":{"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":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":135,"docs":{"1":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"101":{"tf":2.6457513110645907},"102":{"tf":3.4641016151377544},"103":{"tf":2.23606797749979},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":2.0},"107":{"tf":3.0},"108":{"tf":3.3166247903554},"109":{"tf":4.0},"110":{"tf":2.449489742783178},"111":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.7320508075688772},"114":{"tf":2.23606797749979},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":3.4641016151377544},"118":{"tf":3.3166247903554},"119":{"tf":3.1622776601683795},"120":{"tf":2.8284271247461903},"121":{"tf":2.449489742783178},"122":{"tf":3.7416573867739413},"123":{"tf":2.23606797749979},"124":{"tf":2.449489742783178},"125":{"tf":3.4641016151377544},"126":{"tf":3.0},"127":{"tf":4.0},"128":{"tf":2.449489742783178},"129":{"tf":2.8284271247461903},"130":{"tf":4.123105625617661},"131":{"tf":3.7416573867739413},"132":{"tf":1.4142135623730951},"133":{"tf":2.8284271247461903},"134":{"tf":2.449489742783178},"135":{"tf":1.7320508075688772},"136":{"tf":2.0},"137":{"tf":2.0},"138":{"tf":2.8284271247461903},"139":{"tf":3.0},"145":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":2.449489742783178},"153":{"tf":1.7320508075688772},"154":{"tf":2.0},"155":{"tf":3.1622776601683795},"156":{"tf":3.4641016151377544},"157":{"tf":1.7320508075688772},"158":{"tf":1.4142135623730951},"160":{"tf":2.0},"161":{"tf":2.6457513110645907},"162":{"tf":2.23606797749979},"163":{"tf":2.449489742783178},"164":{"tf":3.1622776601683795},"165":{"tf":3.605551275463989},"166":{"tf":3.0},"167":{"tf":1.4142135623730951},"169":{"tf":2.0},"170":{"tf":2.23606797749979},"171":{"tf":2.449489742783178},"172":{"tf":2.6457513110645907},"173":{"tf":3.1622776601683795},"175":{"tf":2.8284271247461903},"176":{"tf":2.6457513110645907},"177":{"tf":2.449489742783178},"178":{"tf":1.0},"180":{"tf":2.0},"181":{"tf":3.3166247903554},"182":{"tf":1.0},"183":{"tf":1.0},"186":{"tf":2.8284271247461903},"187":{"tf":1.0},"188":{"tf":2.0},"192":{"tf":1.0},"198":{"tf":1.0},"200":{"tf":2.0},"201":{"tf":3.4641016151377544},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"204":{"tf":1.4142135623730951},"205":{"tf":2.449489742783178},"206":{"tf":4.123105625617661},"207":{"tf":3.0},"208":{"tf":2.6457513110645907},"209":{"tf":2.8284271247461903},"210":{"tf":1.4142135623730951},"220":{"tf":2.23606797749979},"235":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":2.8284271247461903},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"257":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":2.6457513110645907},"286":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"4":{"tf":1.4142135623730951},"45":{"tf":3.605551275463989},"49":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"81":{"tf":2.449489742783178},"82":{"tf":1.7320508075688772},"83":{"tf":2.23606797749979},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.23606797749979},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":2.8284271247461903},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"s":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"109":{"tf":1.0}}},"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":10,"docs":{"155":{"tf":1.0},"161":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"288":{"tf":1.0},"45":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"147":{"tf":1.0},"156":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"107":{"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":{"177":{"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}}}}}}}}}},"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"209":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"178":{"tf":1.0},"210":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"140":{"tf":1.0},"59":{"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":6,"docs":{"138":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"291":{"tf":1.0}}}}},"r":{"df":1,"docs":{"107":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"183":{"tf":1.0},"201":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"276":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":25,"docs":{"133":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"166":{"tf":1.0},"17":{"tf":1.0},"173":{"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},"232":{"tf":1.0},"24":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"27":{"tf":1.0},"273":{"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":5,"docs":{"209":{"tf":1.0},"210":{"tf":1.0},"247":{"tf":1.0},"268":{"tf":1.0},"93":{"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":2,"docs":{"151":{"tf":1.0},"249":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"74":{"tf":1.0},"75":{"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":{"120":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"60":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"298":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":12,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"187":{"tf":1.0},"220":{"tf":1.4142135623730951},"228":{"tf":1.0},"25":{"tf":1.0},"252":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"t":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":4,"docs":{"173":{"tf":3.0},"231":{"tf":1.0},"244":{"tf":1.0},"39":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"112":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"201":{"tf":1.0}}}}}}},"n":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"264":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"131":{"tf":1.0},"142":{"tf":1.0},"160":{"tf":1.0},"190":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":7,"docs":{"103":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"158":{"tf":1.0},"171":{"tf":1.0},"83":{"tf":1.0},"87":{"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":7,"docs":{"107":{"tf":1.0},"151":{"tf":1.0},"184":{"tf":1.0},"263":{"tf":1.4142135623730951},"64":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"73":{"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":{"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"157":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":5,"docs":{"150":{"tf":1.0},"201":{"tf":1.0},"239":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"201":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"220":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"242":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"233":{"tf":1.0},"244":{"tf":1.0},"293":{"tf":1.4142135623730951},"68":{"tf":1.0},"81":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":7,"docs":{"126":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"184":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}},"u":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"a":{"df":0,"docs":{},"t":{")":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"150":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"f":{"df":1,"docs":{"193":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{")":{".":{"df":0,"docs":{},"v":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"110":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}}}}},"v":{"df":1,"docs":{"110":{"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":{"181":{"tf":1.0}}},"1":{"df":1,"docs":{"181":{"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":{")":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"193":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"124":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"(":{"c":{"a":{"df":0,"docs":{},"t":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"272":{"tf":1.0},"273":{"tf":1.0},"274":{"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"279":{"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":9,"docs":{"122":{"tf":1.0},"123":{"tf":1.7320508075688772},"201":{"tf":1.0},"207":{"tf":2.449489742783178},"233":{"tf":1.0},"234":{"tf":1.0},"245":{"tf":1.0},"248":{"tf":1.0},"286":{"tf":1.0}},"p":{"df":5,"docs":{"201":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":3.4641016151377544},"208":{"tf":2.449489742783178}},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"152":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":2,"docs":{"245":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"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":{":":{"1":{"1":{"df":1,"docs":{"207":{"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":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":25,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"187":{"tf":1.4142135623730951},"201":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"242":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"296":{"tf":1.0},"38":{"tf":1.7320508075688772},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":26,"docs":{"138":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"79":{"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":{"235":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"181":{"tf":1.0},"219":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"25":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.0},"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":13,"docs":{"110":{"tf":1.4142135623730951},"138":{"tf":1.0},"188":{"tf":1.0},"203":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"229":{"tf":1.7320508075688772},"252":{"tf":1.0},"271":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"93":{"tf":2.0}}}},"df":147,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":1.0},"134":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":2.449489742783178},"169":{"tf":1.7320508075688772},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"18":{"tf":1.0},"181":{"tf":1.4142135623730951},"184":{"tf":2.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":2.0},"19":{"tf":1.4142135623730951},"192":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.0},"20":{"tf":1.0},"200":{"tf":1.4142135623730951},"201":{"tf":1.7320508075688772},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":2.0},"208":{"tf":2.23606797749979},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"213":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"222":{"tf":1.4142135623730951},"223":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"227":{"tf":1.0},"229":{"tf":2.23606797749979},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"247":{"tf":2.23606797749979},"249":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"250":{"tf":2.6457513110645907},"252":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"256":{"tf":1.4142135623730951},"259":{"tf":1.7320508075688772},"261":{"tf":1.4142135623730951},"263":{"tf":2.449489742783178},"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"275":{"tf":1.7320508075688772},"277":{"tf":1.0},"279":{"tf":2.449489742783178},"29":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.7320508075688772},"3":{"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},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"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":{"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":{}},"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":{"124":{"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":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"204":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"df":41,"docs":{"110":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":2.23606797749979},"120":{"tf":1.7320508075688772},"121":{"tf":2.0},"122":{"tf":2.23606797749979},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"17":{"tf":1.0},"181":{"tf":1.7320508075688772},"183":{"tf":1.0},"188":{"tf":2.449489742783178},"194":{"tf":1.0},"201":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"215":{"tf":1.4142135623730951},"219":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.4142135623730951},"243":{"tf":2.0},"244":{"tf":1.0},"265":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0}},"i":{"d":{"df":4,"docs":{"209":{"tf":1.4142135623730951},"231":{"tf":1.0},"233":{"tf":1.4142135623730951},"235":{"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":{"235":{"tf":1.7320508075688772}}}}}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"204":{"tf":1.0}}}}}}}}}}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"199":{"tf":1.0},"271":{"tf":1.0},"288":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}}},"df":4,"docs":{"170":{"tf":1.0},"231":{"tf":1.0},"255":{"tf":1.0},"72":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"273":{"tf":1.0}}}}}}}}},"v":{">":{"(":{"\"":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"c":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{".":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"<":{"%":{"df":1,"docs":{"243":{"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":{}}}}}}}},"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":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":2.0}}}}}}},"x":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"278":{"tf":1.0}}}},"l":{"df":9,"docs":{"110":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":2.23606797749979},"208":{"tf":1.0},"58":{"tf":2.0}},"i":{"d":{"df":28,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":1.7320508075688772},"109":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"119":{"tf":1.0},"148":{"tf":1.7320508075688772},"150":{"tf":1.0},"172":{"tf":1.0},"196":{"tf":1.0},"199":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"229":{"tf":2.23606797749979},"242":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"266":{"tf":1.0},"273":{"tf":1.7320508075688772},"50":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"158":{"tf":1.0}}}},"df":0,"docs":{}},"df":83,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":2.23606797749979},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"119":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.4142135623730951},"137":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":2.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":2.449489742783178},"209":{"tf":1.4142135623730951},"210":{"tf":3.3166247903554},"211":{"tf":2.449489742783178},"212":{"tf":2.0},"213":{"tf":3.0},"214":{"tf":3.3166247903554},"215":{"tf":2.8284271247461903},"216":{"tf":2.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":3.0},"220":{"tf":1.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.7320508075688772},"255":{"tf":1.0},"288":{"tf":2.6457513110645907},"291":{"tf":1.0},"293":{"tf":6.082762530298219},"298":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"'":{"df":5,"docs":{"103":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"212":{"tf":1.0}}},"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"r":{"df":127,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":2.449489742783178},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"145":{"tf":2.0},"146":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":2.0},"152":{"tf":2.23606797749979},"153":{"tf":2.23606797749979},"154":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"161":{"tf":1.7320508075688772},"162":{"tf":2.23606797749979},"164":{"tf":2.449489742783178},"165":{"tf":3.0},"168":{"tf":2.0},"171":{"tf":1.7320508075688772},"173":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"184":{"tf":3.4641016151377544},"186":{"tf":1.7320508075688772},"187":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"197":{"tf":2.0},"206":{"tf":2.23606797749979},"207":{"tf":2.449489742783178},"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"213":{"tf":1.0},"221":{"tf":1.4142135623730951},"233":{"tf":2.0},"234":{"tf":1.4142135623730951},"235":{"tf":1.0},"245":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":2.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"281":{"tf":1.0},"286":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"51":{"tf":2.449489742783178},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"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.7320508075688772},"99":{"tf":1.0}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":35,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":2.449489742783178},"112":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.7320508075688772},"144":{"tf":1.0},"147":{"tf":2.0},"148":{"tf":1.4142135623730951},"149":{"tf":3.0},"150":{"tf":1.0},"154":{"tf":1.0},"184":{"tf":1.0},"249":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":2.0},"47":{"tf":2.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":2.449489742783178},"72":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"154":{"tf":1.7320508075688772},"173":{"tf":1.0},"180":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"247":{"tf":1.0},"251":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0}}}},"t":{"df":1,"docs":{"163":{"tf":1.0}}}},"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"91":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":8,"docs":{"173":{"tf":1.0},"209":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0},"298":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"269":{"tf":1.0}}}}},"df":6,"docs":{"172":{"tf":1.0},"243":{"tf":1.4142135623730951},"293":{"tf":5.744562646538029},"58":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"268":{"tf":1.0},"274":{"tf":1.0}},"e":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":58,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":2.0},"140":{"tf":1.0},"142":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":1.4142135623730951},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"175":{"tf":1.4142135623730951},"178":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"245":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"259":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"282":{"tf":1.0},"299":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":1,"docs":{"116":{"tf":1.0}},"i":{"df":2,"docs":{"209":{"tf":1.0},"25":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":23,"docs":{"10":{"tf":1.4142135623730951},"137":{"tf":1.0},"153":{"tf":1.4142135623730951},"160":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"187":{"tf":1.0},"190":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"221":{"tf":1.0},"229":{"tf":1.0},"232":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"264":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":5,"docs":{"232":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"148":{"tf":1.0},"165":{"tf":1.0},"180":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.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":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"223":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"195":{"tf":1.0},"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"222":{"tf":3.1622776601683795},"223":{"tf":2.8284271247461903},"224":{"tf":2.449489742783178},"225":{"tf":2.449489742783178},"226":{"tf":2.449489742783178},"227":{"tf":2.6457513110645907}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.0},"231":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"140":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":2,"docs":{"231":{"tf":1.0},"260":{"tf":1.4142135623730951}}},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"w":{"/":{"df":0,"docs":{},"o":{"df":4,"docs":{"207":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"230":{"tf":1.0},"244":{"tf":1.7320508075688772},"81":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":3,"docs":{"268":{"tf":1.0},"272":{"tf":1.0},"34":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":26,"docs":{"111":{"tf":1.0},"113":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.7320508075688772},"172":{"tf":1.7320508075688772},"178":{"tf":1.0},"194":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.7320508075688772},"223":{"tf":1.0},"232":{"tf":1.0},"235":{"tf":1.0},"247":{"tf":1.0},"256":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"272":{"tf":1.4142135623730951},"277":{"tf":1.0},"280":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"102":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"206":{"tf":1.0},"258":{"tf":1.0},"33":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"215":{"tf":1.0},"219":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"142":{"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":{"233":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"233":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"275":{"tf":1.0}}}}},"y":{"df":50,"docs":{"101":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"13":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"183":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":1.0},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"244":{"tf":1.4142135623730951},"257":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"272":{"tf":1.4142135623730951},"282":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"43":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}}}},"df":2,"docs":{"101":{"tf":1.0},"72":{"tf":1.7320508075688772}},"e":{"'":{"d":{"df":3,"docs":{"129":{"tf":1.0},"232":{"tf":1.0},"272":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":13,"docs":{"198":{"tf":1.0},"206":{"tf":1.0},"228":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"272":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":4,"docs":{"161":{"tf":1.0},"173":{"tf":1.0},"276":{"tf":1.0},"39":{"tf":1.0}}}},"b":{"df":9,"docs":{"215":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":2.449489742783178},"254":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"<":{"/":{"df":0,"docs":{},"h":{"1":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":12,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"243":{"tf":1.0},"282":{"tf":1.4142135623730951},"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":11,"docs":{"1":{"tf":1.4142135623730951},"171":{"tf":1.0},"18":{"tf":1.0},"208":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.7320508075688772},"3":{"tf":1.0},"64":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":4,"docs":{"15":{"tf":1.0},"168":{"tf":1.0},"198":{"tf":1.0},"277":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"173":{"tf":1.0},"219":{"tf":1.0},"238":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"173":{"tf":1.0},"209":{"tf":1.0},"238":{"tf":1.0},"266":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":6,"docs":{"157":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"245":{"tf":1.0},"274":{"tf":1.0},"65":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"190":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"155":{"tf":1.0},"263":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"166":{"tf":1.4142135623730951},"172":{"tf":1.0},"182":{"tf":1.0},"201":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"288":{"tf":1.4142135623730951},"48":{"tf":1.0},"79":{"tf":1.0},"86":{"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":{"52":{"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":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"273":{"tf":1.0},"45":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":12,"docs":{"167":{"tf":1.0},"202":{"tf":1.0},"233":{"tf":1.0},"248":{"tf":1.0},"271":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"85":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"113":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"277":{"tf":1.0}},"n":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"262":{"tf":1.0},"72":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"67":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"72":{"tf":2.23606797749979},"73":{"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":{"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":{}},"n":{"df":6,"docs":{"184":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"71":{"tf":1.7320508075688772},"79":{"tf":1.0}}},"p":{"df":21,"docs":{"172":{"tf":1.0},"282":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"267":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"284":{"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":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"102":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.0},"173":{"tf":1.4142135623730951},"183":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"246":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"39":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"295":{"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":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":28,"docs":{"115":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"188":{"tf":1.4142135623730951},"194":{"tf":1.0},"2":{"tf":1.0},"208":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"6":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":9,"docs":{"103":{"tf":1.0},"169":{"tf":1.0},"189":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"220":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"279":{"tf":1.0}}}},"r":{"d":{"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":25,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.0},"233":{"tf":1.0},"244":{"tf":2.0},"248":{"tf":1.0},"249":{"tf":1.0},"258":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":12,"docs":{"158":{"tf":1.4142135623730951},"228":{"tf":1.0},"242":{"tf":1.0},"263":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"65":{"tf":2.0},"8":{"tf":2.23606797749979},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"221":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"150":{"tf":1.0},"194":{"tf":1.0},"33":{"tf":1.0}}}},"s":{"df":5,"docs":{"112":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"101":{"tf":1.0},"181":{"tf":1.0},"208":{"tf":1.0},"214":{"tf":1.0},"276":{"tf":1.0},"65":{"tf":1.0},"92":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"209":{"tf":1.0},"272":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":21,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":2.449489742783178},"123":{"tf":1.0},"130":{"tf":1.0},"152":{"tf":1.4142135623730951},"163":{"tf":1.0},"170":{"tf":3.0},"181":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"243":{"tf":1.0},"27":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":4,"docs":{"194":{"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":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"208":{"tf":1.0}}}}},"df":35,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"237":{"tf":1.4142135623730951},"242":{"tf":1.0},"245":{"tf":1.4142135623730951},"246":{"tf":1.0},"247":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.4142135623730951},"262":{"tf":1.0},"264":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":7,"docs":{"115":{"tf":1.0},"153":{"tf":1.0},"173":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.0},"65":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"31":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":29,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"126":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"145":{"tf":1.7320508075688772},"146":{"tf":1.4142135623730951},"148":{"tf":1.7320508075688772},"149":{"tf":1.7320508075688772},"152":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"170":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":2.0},"187":{"tf":1.7320508075688772},"208":{"tf":1.7320508075688772},"221":{"tf":1.0},"248":{"tf":2.0},"288":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"75":{"tf":5.0990195135927845},"77":{"tf":2.449489742783178},"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"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":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"y":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":9,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"146":{"tf":2.0},"172":{"tf":1.7320508075688772},"208":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"52":{"tf":1.0},"75":{"tf":5.196152422706632}},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"142":{"tf":1.4142135623730951},"236":{"tf":1.0},"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":{"111":{"tf":2.23606797749979},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"74":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"112":{"tf":2.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"58":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":14,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"155":{"tf":1.0},"185":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"229":{"tf":1.0},"233":{"tf":1.0},"247":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"277":{"tf":1.4142135623730951},"45":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":36,"docs":{"115":{"tf":1.0},"12":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.4142135623730951},"189":{"tf":1.0},"19":{"tf":1.0},"194":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"224":{"tf":1.0},"225":{"tf":1.0},"23":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":29,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"18":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"217":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"24":{"tf":1.0},"248":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.4142135623730951},"260":{"tf":1.0},"261":{"tf":1.0},"265":{"tf":1.0},"267":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"64":{"tf":1.0}}},"v":{"df":13,"docs":{"131":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.0},"198":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"266":{"tf":1.0},"275":{"tf":1.4142135623730951},"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":8,"docs":{"112":{"tf":1.0},"150":{"tf":1.0},"208":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.0},"265":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0}}}}}}}}}},"z":{"df":1,"docs":{"75":{"tf":5.5677643628300215}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"116":{"tf":1.0},"171":{"tf":1.0},"4":{"tf":1.0},"75":{"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},"59":{"tf":1.0}}},"2":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"60":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"163":{"tf":1.0},"197":{"tf":1.0},"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"276":{"tf":1.0},"278":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"273":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"105":{"tf":1.0},"88":{"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}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"280":{"tf":1.0}}}}},"df":4,"docs":{"113":{"tf":1.0},"39":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"138":{"tf":1.0},"164":{"tf":1.0},"235":{"tf":1.0},"248":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":2,"docs":{"130":{"tf":1.0},"200":{"tf":1.0}},"s":{"df":5,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"203":{"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":4,"docs":{"139":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":1.0},"85":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":5,"docs":{"192":{"tf":1.0},"198":{"tf":1.0},"265":{"tf":1.0},"266":{"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":{"181":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"263":{"tf":1.0},"277":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{"71":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"139":{"tf":1.0},"170":{"tf":1.0},"239":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"172":{"tf":1.0},"263":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"135":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"111":{"tf":1.0},"202":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"11":{"tf":1.0},"254":{"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":{"183":{"tf":1.0}}},"y":{"df":1,"docs":{"278":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"229":{"tf":1.0},"271":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"252":{"tf":1.0}}},"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":3,"docs":{"10":{"tf":1.0},"217":{"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":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"251":{"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":{"249":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"283":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"185":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":12,"docs":{"1":{"tf":1.0},"195":{"tf":1.0},"196":{"tf":1.0},"23":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"136":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"233":{"tf":1.0},"246":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"149":{"tf":1.0},"241":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"154":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"73":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"108":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"97":{"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":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"'":{"df":2,"docs":{"183":{"tf":1.0},"263":{"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":1,"docs":{"273":{"tf":1.0}},"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":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"18":{"tf":1.0},"204":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"144":{"tf":1.0},"146":{"tf":1.0},"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"159":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"147":{"tf":1.0},"150":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"116":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.0},"272":{"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":{"180":{"tf":1.0},"181":{"tf":1.0},"188":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"136":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"247":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"216":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"44":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"101":{"tf":1.0},"124":{"tf":1.0},"186":{"tf":1.0},"260":{"tf":1.0}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"232":{"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":6,"docs":{"269":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"268":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"127":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"3":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"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":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"166":{"tf":1.0}}},"df":9,"docs":{"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"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":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":10,"docs":{"178":{"tf":1.0},"187":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"4":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"86":{"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":{"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"270":{"tf":1.0},"30":{"tf":1.0},"46":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"179":{"tf":1.0},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"267":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"211":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"281":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":11,"docs":{"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"145":{"tf":1.0},"181":{"tf":1.0},"188":{"tf":1.0},"191":{"tf":1.0},"195":{"tf":1.0},"269":{"tf":1.0},"36":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"130":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"200":{"tf":1.0},"201":{"tf":1.0},"253":{"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":{"184":{"tf":1.0}}}}}}}},"p":{"df":1,"docs":{"229":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"194":{"tf":1.0},"2":{"tf":1.0},"214":{"tf":1.0},"228":{"tf":1.0},"271":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"218":{"tf":1.0},"33":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"219":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"280":{"tf":1.0}}}}},"df":0,"docs":{}},"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":{"246":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"160":{"tf":1.0},"167":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"c":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"204":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"285":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"154":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"167":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"61":{"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":{"88":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"136":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"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":{}},"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"124":{"tf":1.0},"159":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"263":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"98":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"113":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"110":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"17":{"tf":1.0},"197":{"tf":1.0},"274":{"tf":1.0},"75":{"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":7,"docs":{"197":{"tf":1.0},"217":{"tf":1.0},"234":{"tf":1.0},"235":{"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":{"74":{"tf":1.0},"75":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"97":{"tf":1.0}}}},"t":{"df":2,"docs":{"53":{"tf":1.0},"61":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"268":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"270":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"189":{"tf":1.0},"204":{"tf":1.0},"270":{"tf":1.0},"286":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"251":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"220":{"tf":1.0},"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"275":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":1,"docs":{"250":{"tf":1.0}}}}},"p":{"df":1,"docs":{"289":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"237":{"tf":1.0},"244":{"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":{"139":{"tf":1.0},"141":{"tf":1.0},"247":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"275":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"11":{"tf":1.0},"126":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"155":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"254":{"tf":1.0},"263":{"tf":1.0},"33":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"267":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":7,"docs":{"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"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":2,"docs":{"237":{"tf":1.0},"244":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.0}}}}}},"df":0,"docs":{}}},"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":{"113":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":3,"docs":{"221":{"tf":1.0},"252":{"tf":1.0},"253":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"254":{"tf":1.0},"256":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"211":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"86":{"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":6,"docs":{"158":{"tf":1.0},"166":{"tf":1.0},"171":{"tf":1.0},"255":{"tf":1.0},"266":{"tf":1.0},"280":{"tf":1.0}}}}}}},"i":{"df":3,"docs":{"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"243":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"90":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"177":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"246":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"175":{"tf":1.0},"93":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"130":{"tf":1.0},"136":{"tf":1.0},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"212":{"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":{"121":{"tf":1.0},"122":{"tf":1.0}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"121":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"290":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":2,"docs":{"157":{"tf":1.0},"170":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"218":{"tf":1.0},"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":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}},"u":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"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":{"97":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"280":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"df":6,"docs":{"135":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"241":{"tf":1.0},"250":{"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":2,"docs":{"1":{"tf":1.0},"170":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"163":{"tf":1.0},"172":{"tf":1.0},"258":{"tf":1.0},"277":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":1,"docs":{"216":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":10,"docs":{"269":{"tf":1.0},"291":{"tf":1.0},"56":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":1,"docs":{"1":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"137":{"tf":1.0},"264":{"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":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"187":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"292":{"tf":1.0}}}},"o":{"df":0,"docs":{},"p":{"df":10,"docs":{"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},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"262":{"tf":1.0},"270":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"234":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"270":{"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},"150":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":6,"docs":{"293":{"tf":1.0},"58":{"tf":1.0},"79":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"294":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"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":1,"docs":{"259":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":17,"docs":{"17":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"91":{"tf":1.0},"99":{"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":{"160":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"268":{"tf":1.0},"80":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":13,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"109":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}}},"w":{"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"118":{"tf":1.0}}}}},"n":{"df":3,"docs":{"110":{"tf":1.0},"137":{"tf":1.0},"75":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"118":{"tf":1.0},"160":{"tf":1.0},"249":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0}}}},"w":{"df":2,"docs":{"31":{"tf":1.0},"41":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"269":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"209":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"108":{"tf":1.0},"13":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"212":{"tf":1.0},"73":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"4":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"270":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"240":{"tf":1.0},"32":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"162":{"tf":1.0},"171":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"98":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"126":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"171":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"181":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"129":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"257":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"139":{"tf":1.0},"217":{"tf":1.0},"218":{"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":4,"docs":{"278":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"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":{"182":{"tf":1.0},"184":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"260":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"270":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"139":{"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":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"274":{"tf":1.0},"277":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"295":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"223":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"134":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"162":{"tf":1.0},"170":{"tf":1.0},"199":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"14":{"tf":1.0},"169":{"tf":1.0},"217":{"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":{}}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"1":{"tf":1.0},"143":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"227":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"237":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.0}}}}},"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},"89":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"208":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":4,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"186":{"tf":1.0}}}}}},"df":1,"docs":{"247":{"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":{"146":{"tf":1.0},"187":{"tf":1.0},"251":{"tf":1.0},"69":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"133":{"tf":1.0},"159":{"tf":1.0},"171":{"tf":1.0},"204":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"147":{"tf":1.0},"188":{"tf":1.0},"243":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.0},"175":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"272":{"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":1,"docs":{"217":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"102":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"242":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"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}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"297":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"277":{"tf":1.0}}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"252":{"tf":1.0}}}},"i":{"c":{"df":2,"docs":{"221":{"tf":1.0},"253":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":6,"docs":{"216":{"tf":1.0},"298":{"tf":1.0},"57":{"tf":1.0},"78":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"85":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"187":{"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":2,"docs":{"134":{"tf":1.0},"199":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"263":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"193":{"tf":1.0},"204":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"c":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"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},"68":{"tf":1.0}}}}}}},"i":{"c":{"df":12,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"148":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"219":{"tf":1.0},"74":{"tf":1.0}}},"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":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"299":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"b":{"df":5,"docs":{"242":{"tf":1.0},"243":{"tf":1.0},"282":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"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":{"301":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"300":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"104":{"tf":1.0},"106":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"242":{"tf":1.0},"70":{"tf":1.0},"71":{"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":{"235":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.0},"80":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"220":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"228":{"tf":1.0},"271":{"tf":1.0}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":2,"docs":{"249":{"tf":1.0},"80":{"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},"190":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"195":{"tf":1.0},"224":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"261":{"tf":1.0},"263":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"234":{"tf":1.0},"238":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"101":{"tf":1.0},"124":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"271":{"tf":1.0}}}}},"l":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"251":{"tf":1.0}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"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":{"110":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"137":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"188":{"tf":1.0}}},"df":39,"docs":{"1":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"181":{"tf":1.4142135623730951},"186":{"tf":1.0},"200":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"45":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.0}},"s":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"204":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"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":{"138":{"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":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"123":{"tf":1.0}},"p":{"df":3,"docs":{"205":{"tf":1.0},"207":{"tf":1.0},"208":{"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":3,"docs":{"110":{"tf":1.0},"229":{"tf":1.0},"93":{"tf":1.0}}}},"df":9,"docs":{"166":{"tf":1.0},"170":{"tf":1.0},"197":{"tf":1.0},"208":{"tf":1.0},"250":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"181":{"tf":1.0},"188":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"112":{"tf":1.0},"148":{"tf":1.0},"229":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":7,"docs":{"173":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"216":{"tf":1.0},"219":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"69":{"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":5,"docs":{"153":{"tf":1.0},"160":{"tf":1.0},"177":{"tf":1.0},"217":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":1,"docs":{"260":{"tf":1.0}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"0":{"tf":1.0},"282":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"184":{"tf":1.0}}},"p":{"df":1,"docs":{"282":{"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":{"122":{"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..f6f84d2d --- /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","common_programming_concepts/string_formatting/string_formatting.generated_docs.html#string-formatting","common_programming_concepts/string_formatting/string_formatting.generated_docs.html#escaping-curly-braces-in-strings","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","error_handling/error_handling.generated_docs.html#error-handling","error_handling/error_handling.generated_docs.html#stderror","error_handling/error_propagation/error_propagation.generated_docs.html#error-propagation-via--operator","error_handling/error_propagation/error_propagation.generated_docs.html#-operator-drops-all-error-cases","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#static-enforcement-of-requires-clauses","generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html#a-note-on-static-dispatch-via-monomorphization","generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html#contracts-with-multiple-type-params","generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html#calling-a-contract-procedure-over-multiple-type-params","generics/contracts/multiple_type_params/multiple_type_params.generated_docs.html#limitation-of-the-above-contract-definition","generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html#advanced-implied-types","generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html#statically-preventing-ambiguous-contract-definitions-with-implied-types","generics/contracts/multiple_type_params/implied_types/implied_types.generated_docs.html#deciding-whether-to-use-implied-types-to-constrain-a-contracts-implementations-is-a-judgement-call","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#dynamic-dispatch","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#tldr","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#by-comparison-to-object-oriented-programming","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#using-an-interface-type-as-a-procedure-arg--in-an-oop-language-","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#requiring-a-contract-to-be-implemented-over-generic-type-params-in-claro","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#a-not-so-brief-aside-on-the-limitations-of-subtyping","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#values-of-unknown-type","generics/contracts/dynamic_dispatch/dynamic_dispatch.generated_docs.html#dynamic-dispatch-is-rare","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","resource_files/resource_files.generated_docs.html#resource-files","module_system/module_system.generated_docs.html#module-system","module_system/module_system.generated_docs.html#defining-a-module","module_system/module_system.generated_docs.html#api","module_system/module_system.generated_docs.html#sources","module_system/module_system.generated_docs.html#dependencies","module_system/module_system.generated_docs.html#defining-build-target","module_system/module_system.generated_docs.html#building-a-module","module_system/module_system.generated_docs.html#executable-using-above-example-module","module_system/module_apis/module_apis.generated_docs.html#module-apis","module_system/module_apis/procedure_signatures/procedure_signatures.generated_docs.html#procedure-signatures","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#type--alias-definitions","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#exporting-type-definitions","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#exporting-atoms","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#exporting-aliases","module_system/module_apis/type_definitions/type_definitions.generated_docs.html#modules-exporting--only--typesaliases-dont-require-any-claro-source-files","module_system/module_apis/type_definitions/initializers_and_unwrappers/initializers_and_unwrappers.generated_docs.html#initializers--unwrappers","module_system/module_apis/type_definitions/initializers_and_unwrappers/initializers_and_unwrappers.generated_docs.html#initializers","module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/unwrappers.generated_docs.html#unwrappers","module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers/unwrappers.generated_docs.html#recommended-use-of-unwrappers-and-initializers","module_system/module_apis/type_definitions/opaque_types/opaque_types.generated_docs.html#opaque-types","module_system/module_apis/static_values/static_values.generated_docs.html#static-values","module_system/module_apis/static_values/static_values.generated_docs.html#static-values-must-be-deeply-immutable","module_system/module_apis/static_values/static_values.generated_docs.html#initialization-order","module_system/module_apis/static_values/static_values.generated_docs.html#lazy-static-values","module_system/module_apis/static_values/static_values.generated_docs.html#static-value-providers-may-depend-on-other-static-values","module_system/module_apis/flags/flags.generated_docs.html#flags","module_system/module_apis/flags/flags.generated_docs.html#setting-a-flag-value-on-the-command-line","module_system/module_apis/flags/flags.generated_docs.html#passing-flags-to-programs-executed-via-bazel-run-","module_system/module_apis/flags/flags.generated_docs.html#passing-flags-to-deploy-jar","module_system/module_apis/flags/flags.generated_docs.html#deriving-static-values-from-flags","module_system/module_apis/flags/flags.generated_docs.html#supported-flag-types","module_system/module_apis/http_services/http_services.generated_docs.html#http-services","module_system/visibility/visibility.generated_docs.html#visibility","module_system/visibility/visibility.generated_docs.html#private-visibility","module_system/visibility/visibility.generated_docs.html#target-visibility","module_system/visibility/visibility.generated_docs.html#package-visibility","module_system/visibility/visibility.generated_docs.html#subpackages-visibility","module_system/visibility/visibility.generated_docs.html#public-visibility-discouraged","module_system/swapping_deps/swapping_deps.generated_docs.html#swapping-dependencies","module_system/swapping_deps/swapping_deps.generated_docs.html#dep-validity-is-based-on-usage","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","fearless_concurrency/fearless_concurrency.html#fearless-concurrency","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#guaranteed-data-race-free-concurrency","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#thread-local-data-can-be-mutated-at-will","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#all-graph-procedure-args-must-be-deeply-immutable","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#all-graph-procedure-node-outputs-must-be-deeply-immutable","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#lambdas-cannot-capture-mutable-data","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#thread-safe-mutable-data-structures-blessed-by-the-stdlib","guaranteed_data_race_free/guaranteed_data_race_free.generated_docs.html#important--this-is-restricted-to-the-stdlib","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","http_servers/http_servers.generated_docs.html#basic-http-servers","http_servers/http_servers.generated_docs.html#http-service-definition","http_servers/http_servers.generated_docs.html#auto-generated-httpserver","http_servers/http_servers.generated_docs.html#implementing-endpoint-handlers","http_servers/http_servers.generated_docs.html#starting-an-httpserver","json_parsing/json_parsing.generated_docs.html#json-parsing","json_parsing/json_parsing.generated_docs.html#limitations","metaprogramming/metaprogramming.generated_docs.html#build-time-metaprogramming","metaprogramming/metaprogramming.generated_docs.html#build-vs-compile-phases","metaprogramming/templating/templating.generated_docs.html#source-code-templates","metaprogramming/templating/templating.generated_docs.html#expand_template-macro","metaprogramming/templating/templating.generated_docs.html#aside-claros-entire-docs-site-is-generated-at-build-time-using-this-templating-approach","metaprogramming/code_reuse/code_reuse.generated_docs.html#literal-code-reuse","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#reusing-module-apis","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#multiple-implementations-of-a-module-api","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#going-deeper","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#expressing-the-above-build-targets-more-concisely","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#using-list-comprehension-to-define-multiple-similar-targets-at-once","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#declaring-a-macro-in-a-bzl-file-to-make-this-factored-out-build-logic-portable","metaprogramming/code_reuse/reusing_module_apis/reusing_module_apis.generated_docs.html#swapping-dependencies-at-build-time-based-on-build-flags","metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html#reusing-source-code","metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html#claro_module-accepts-multiple-srcs","metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html#inheritance---inverting-the-prior-example","metaprogramming/code_reuse/reusing_source_code/reusing_source_code.generated_docs.html#further-flexibility","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#abstract-modules","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#limitations-of-the-approach-in-the-prior-sections","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#abstracting-away-the-abstract-module-pattern-itself","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#override-flexibility","metaprogramming/code_reuse/abstract_modules/abstract_modules.generated_docs.html#additional-knobs--implementation-details","stdlib/default_modules/default_modules.generated_docs.html#default-modules","stdlib/default_modules/default_modules.generated_docs.html#the-stdlib-is-a-wip---recommendations-are-welcome","stdlib/booleans_module.generated_docs.html#booleans","stdlib/deque_module.generated_docs.html#deque","stdlib/doubles_module.generated_docs.html#doubles","stdlib/files_module.generated_docs.html#files","stdlib/floats_module.generated_docs.html#floats","stdlib/futures_module.generated_docs.html#futures","stdlib/fp_module.generated_docs.html#fp","stdlib/ints_module.generated_docs.html#ints","stdlib/lists_module.generated_docs.html#lists","stdlib/longs_module.generated_docs.html#longs","stdlib/maps_module.generated_docs.html#maps","stdlib/math_module.generated_docs.html#math","stdlib/priority_queue_module.generated_docs.html#priority_queue","stdlib/random_module.generated_docs.html#random","stdlib/scanner_module.generated_docs.html#scanner","stdlib/sets_module.generated_docs.html#sets","stdlib/std_module.generated_docs.html#std","stdlib/strings_module.generated_docs.html#strings","stdlib/string_builder_module.generated_docs.html#string_builder"],"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":9,"breadcrumbs":5,"title":1},"101":{"body":154,"breadcrumbs":8,"title":4},"102":{"body":121,"breadcrumbs":7,"title":3},"103":{"body":126,"breadcrumbs":6,"title":2},"104":{"body":29,"breadcrumbs":5,"title":1},"105":{"body":27,"breadcrumbs":6,"title":2},"106":{"body":60,"breadcrumbs":6,"title":2},"107":{"body":81,"breadcrumbs":3,"title":1},"108":{"body":127,"breadcrumbs":8,"title":6},"109":{"body":136,"breadcrumbs":8,"title":3},"11":{"body":47,"breadcrumbs":6,"title":4},"110":{"body":96,"breadcrumbs":9,"title":4},"111":{"body":75,"breadcrumbs":3,"title":1},"112":{"body":105,"breadcrumbs":4,"title":2},"113":{"body":65,"breadcrumbs":5,"title":3},"114":{"body":79,"breadcrumbs":3,"title":1},"115":{"body":93,"breadcrumbs":5,"title":3},"116":{"body":67,"breadcrumbs":6,"title":4},"117":{"body":83,"breadcrumbs":10,"title":4},"118":{"body":49,"breadcrumbs":9,"title":3},"119":{"body":58,"breadcrumbs":7,"title":3},"12":{"body":17,"breadcrumbs":9,"title":7},"120":{"body":38,"breadcrumbs":7,"title":3},"121":{"body":22,"breadcrumbs":9,"title":5},"122":{"body":80,"breadcrumbs":11,"title":7},"123":{"body":20,"breadcrumbs":8,"title":4},"124":{"body":97,"breadcrumbs":7,"title":3},"125":{"body":67,"breadcrumbs":8,"title":2},"126":{"body":32,"breadcrumbs":12,"title":6},"127":{"body":127,"breadcrumbs":12,"title":3},"128":{"body":94,"breadcrumbs":8,"title":2},"129":{"body":82,"breadcrumbs":9,"title":3},"13":{"body":23,"breadcrumbs":5,"title":3},"130":{"body":120,"breadcrumbs":15,"title":6},"131":{"body":122,"breadcrumbs":4,"title":2},"132":{"body":49,"breadcrumbs":3,"title":1},"133":{"body":37,"breadcrumbs":8,"title":3},"134":{"body":48,"breadcrumbs":7,"title":2},"135":{"body":48,"breadcrumbs":9,"title":4},"136":{"body":16,"breadcrumbs":9,"title":4},"137":{"body":77,"breadcrumbs":9,"title":4},"138":{"body":81,"breadcrumbs":12,"title":7},"139":{"body":65,"breadcrumbs":13,"title":8},"14":{"body":9,"breadcrumbs":5,"title":3},"140":{"body":76,"breadcrumbs":2,"title":1},"141":{"body":21,"breadcrumbs":3,"title":1},"142":{"body":80,"breadcrumbs":3,"title":1},"143":{"body":15,"breadcrumbs":3,"title":1},"144":{"body":20,"breadcrumbs":8,"title":4},"145":{"body":53,"breadcrumbs":6,"title":2},"146":{"body":44,"breadcrumbs":8,"title":4},"147":{"body":101,"breadcrumbs":10,"title":3},"148":{"body":66,"breadcrumbs":9,"title":2},"149":{"body":78,"breadcrumbs":13,"title":6},"15":{"body":59,"breadcrumbs":8,"title":3},"150":{"body":142,"breadcrumbs":11,"title":4},"151":{"body":95,"breadcrumbs":4,"title":2},"152":{"body":197,"breadcrumbs":3,"title":1},"153":{"body":162,"breadcrumbs":8,"title":4},"154":{"body":82,"breadcrumbs":8,"title":4},"155":{"body":172,"breadcrumbs":2,"title":1},"156":{"body":215,"breadcrumbs":3,"title":1},"157":{"body":55,"breadcrumbs":4,"title":2},"158":{"body":110,"breadcrumbs":6,"title":2},"159":{"body":62,"breadcrumbs":8,"title":4},"16":{"body":20,"breadcrumbs":6,"title":1},"160":{"body":105,"breadcrumbs":9,"title":5},"161":{"body":147,"breadcrumbs":9,"title":4},"162":{"body":136,"breadcrumbs":12,"title":7},"163":{"body":74,"breadcrumbs":9,"title":4},"164":{"body":266,"breadcrumbs":11,"title":3},"165":{"body":384,"breadcrumbs":15,"title":7},"166":{"body":53,"breadcrumbs":18,"title":10},"167":{"body":28,"breadcrumbs":6,"title":2},"168":{"body":105,"breadcrumbs":5,"title":1},"169":{"body":116,"breadcrumbs":8,"title":4},"17":{"body":38,"breadcrumbs":9,"title":4},"170":{"body":222,"breadcrumbs":11,"title":7},"171":{"body":146,"breadcrumbs":12,"title":8},"172":{"body":233,"breadcrumbs":8,"title":4},"173":{"body":276,"breadcrumbs":7,"title":3},"174":{"body":61,"breadcrumbs":7,"title":3},"175":{"body":141,"breadcrumbs":9,"title":4},"176":{"body":83,"breadcrumbs":7,"title":2},"177":{"body":135,"breadcrumbs":10,"title":5},"178":{"body":109,"breadcrumbs":4,"title":2},"179":{"body":83,"breadcrumbs":4,"title":2},"18":{"body":51,"breadcrumbs":10,"title":5},"180":{"body":203,"breadcrumbs":8,"title":3},"181":{"body":124,"breadcrumbs":13,"title":8},"182":{"body":33,"breadcrumbs":6,"title":2},"183":{"body":131,"breadcrumbs":8,"title":4},"184":{"body":255,"breadcrumbs":7,"title":3},"185":{"body":26,"breadcrumbs":8,"title":3},"186":{"body":175,"breadcrumbs":11,"title":6},"187":{"body":185,"breadcrumbs":13,"title":8},"188":{"body":111,"breadcrumbs":13,"title":8},"189":{"body":176,"breadcrumbs":4,"title":2},"19":{"body":26,"breadcrumbs":6,"title":1},"190":{"body":47,"breadcrumbs":4,"title":2},"191":{"body":9,"breadcrumbs":4,"title":2},"192":{"body":48,"breadcrumbs":3,"title":1},"193":{"body":69,"breadcrumbs":3,"title":1},"194":{"body":107,"breadcrumbs":3,"title":1},"195":{"body":54,"breadcrumbs":5,"title":3},"196":{"body":37,"breadcrumbs":4,"title":2},"197":{"body":51,"breadcrumbs":7,"title":5},"198":{"body":100,"breadcrumbs":6,"title":2},"199":{"body":108,"breadcrumbs":8,"title":2},"2":{"body":24,"breadcrumbs":6,"title":4},"20":{"body":16,"breadcrumbs":6,"title":1},"200":{"body":11,"breadcrumbs":10,"title":3},"201":{"body":129,"breadcrumbs":10,"title":3},"202":{"body":69,"breadcrumbs":9,"title":2},"203":{"body":69,"breadcrumbs":9,"title":2},"204":{"body":50,"breadcrumbs":15,"title":8},"205":{"body":53,"breadcrumbs":10,"title":2},"206":{"body":334,"breadcrumbs":9,"title":1},"207":{"body":339,"breadcrumbs":9,"title":1},"208":{"body":127,"breadcrumbs":12,"title":4},"209":{"body":229,"breadcrumbs":11,"title":2},"21":{"body":17,"breadcrumbs":7,"title":2},"210":{"body":233,"breadcrumbs":8,"title":2},"211":{"body":51,"breadcrumbs":10,"title":4},"212":{"body":126,"breadcrumbs":8,"title":2},"213":{"body":141,"breadcrumbs":9,"title":3},"214":{"body":92,"breadcrumbs":12,"title":6},"215":{"body":184,"breadcrumbs":8,"title":1},"216":{"body":17,"breadcrumbs":12,"title":5},"217":{"body":62,"breadcrumbs":14,"title":7},"218":{"body":25,"breadcrumbs":11,"title":4},"219":{"body":108,"breadcrumbs":11,"title":4},"22":{"body":27,"breadcrumbs":7,"title":2},"220":{"body":124,"breadcrumbs":10,"title":3},"221":{"body":195,"breadcrumbs":8,"title":2},"222":{"body":95,"breadcrumbs":4,"title":1},"223":{"body":65,"breadcrumbs":5,"title":2},"224":{"body":50,"breadcrumbs":5,"title":2},"225":{"body":46,"breadcrumbs":5,"title":2},"226":{"body":72,"breadcrumbs":5,"title":2},"227":{"body":68,"breadcrumbs":6,"title":3},"228":{"body":144,"breadcrumbs":6,"title":2},"229":{"body":131,"breadcrumbs":8,"title":4},"23":{"body":33,"breadcrumbs":6,"title":1},"230":{"body":240,"breadcrumbs":2,"title":1},"231":{"body":193,"breadcrumbs":5,"title":2},"232":{"body":168,"breadcrumbs":7,"title":3},"233":{"body":128,"breadcrumbs":7,"title":3},"234":{"body":60,"breadcrumbs":8,"title":4},"235":{"body":157,"breadcrumbs":9,"title":4},"236":{"body":53,"breadcrumbs":4,"title":2},"237":{"body":77,"breadcrumbs":12,"title":5},"238":{"body":65,"breadcrumbs":11,"title":4},"239":{"body":221,"breadcrumbs":12,"title":5},"24":{"body":31,"breadcrumbs":8,"title":3},"240":{"body":105,"breadcrumbs":13,"title":6},"241":{"body":42,"breadcrumbs":11,"title":4},"242":{"body":116,"breadcrumbs":14,"title":7},"243":{"body":169,"breadcrumbs":10,"title":3},"244":{"body":344,"breadcrumbs":10,"title":4},"245":{"body":67,"breadcrumbs":10,"title":2},"246":{"body":77,"breadcrumbs":15,"title":7},"247":{"body":133,"breadcrumbs":12,"title":3},"248":{"body":200,"breadcrumbs":12,"title":3},"249":{"body":91,"breadcrumbs":13,"title":4},"25":{"body":137,"breadcrumbs":6,"title":1},"250":{"body":38,"breadcrumbs":13,"title":4},"251":{"body":53,"breadcrumbs":17,"title":8},"252":{"body":96,"breadcrumbs":6,"title":3},"253":{"body":32,"breadcrumbs":6,"title":3},"254":{"body":118,"breadcrumbs":6,"title":3},"255":{"body":186,"breadcrumbs":6,"title":3},"256":{"body":112,"breadcrumbs":5,"title":2},"257":{"body":169,"breadcrumbs":4,"title":2},"258":{"body":36,"breadcrumbs":3,"title":1},"259":{"body":74,"breadcrumbs":6,"title":3},"26":{"body":10,"breadcrumbs":6,"title":1},"260":{"body":154,"breadcrumbs":7,"title":4},"261":{"body":95,"breadcrumbs":9,"title":3},"262":{"body":122,"breadcrumbs":8,"title":2},"263":{"body":232,"breadcrumbs":17,"title":11},"264":{"body":139,"breadcrumbs":9,"title":3},"265":{"body":42,"breadcrumbs":12,"title":3},"266":{"body":112,"breadcrumbs":13,"title":4},"267":{"body":277,"breadcrumbs":11,"title":2},"268":{"body":56,"breadcrumbs":15,"title":6},"269":{"body":96,"breadcrumbs":17,"title":8},"27":{"body":69,"breadcrumbs":6,"title":1},"270":{"body":152,"breadcrumbs":19,"title":10},"271":{"body":116,"breadcrumbs":16,"title":7},"272":{"body":199,"breadcrumbs":12,"title":3},"273":{"body":227,"breadcrumbs":13,"title":4},"274":{"body":216,"breadcrumbs":13,"title":4},"275":{"body":82,"breadcrumbs":11,"title":2},"276":{"body":81,"breadcrumbs":10,"title":2},"277":{"body":77,"breadcrumbs":12,"title":4},"278":{"body":109,"breadcrumbs":14,"title":6},"279":{"body":281,"breadcrumbs":10,"title":2},"28":{"body":16,"breadcrumbs":6,"title":2},"280":{"body":82,"breadcrumbs":12,"title":4},"281":{"body":64,"breadcrumbs":4,"title":2},"282":{"body":22,"breadcrumbs":6,"title":4},"283":{"body":30,"breadcrumbs":4,"title":1},"284":{"body":198,"breadcrumbs":4,"title":1},"285":{"body":42,"breadcrumbs":4,"title":1},"286":{"body":78,"breadcrumbs":4,"title":1},"287":{"body":42,"breadcrumbs":4,"title":1},"288":{"body":530,"breadcrumbs":4,"title":1},"289":{"body":47,"breadcrumbs":4,"title":1},"29":{"body":45,"breadcrumbs":6,"title":2},"290":{"body":42,"breadcrumbs":4,"title":1},"291":{"body":742,"breadcrumbs":4,"title":1},"292":{"body":42,"breadcrumbs":4,"title":1},"293":{"body":835,"breadcrumbs":4,"title":1},"294":{"body":114,"breadcrumbs":4,"title":1},"295":{"body":68,"breadcrumbs":4,"title":1},"296":{"body":69,"breadcrumbs":4,"title":1},"297":{"body":162,"breadcrumbs":4,"title":1},"298":{"body":513,"breadcrumbs":4,"title":1},"299":{"body":61,"breadcrumbs":4,"title":1},"3":{"body":43,"breadcrumbs":4,"title":2},"30":{"body":35,"breadcrumbs":10,"title":6},"300":{"body":269,"breadcrumbs":4,"title":1},"301":{"body":50,"breadcrumbs":4,"title":1},"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":120,"breadcrumbs":7,"title":2},"49":{"body":30,"breadcrumbs":9,"title":4},"5":{"body":14,"breadcrumbs":4,"title":2},"50":{"body":46,"breadcrumbs":7,"title":2},"51":{"body":93,"breadcrumbs":5,"title":0},"52":{"body":54,"breadcrumbs":6,"title":1},"53":{"body":21,"breadcrumbs":8,"title":3},"54":{"body":24,"breadcrumbs":9,"title":4},"55":{"body":13,"breadcrumbs":6,"title":1},"56":{"body":15,"breadcrumbs":8,"title":3},"57":{"body":11,"breadcrumbs":8,"title":3},"58":{"body":41,"breadcrumbs":8,"title":3},"59":{"body":30,"breadcrumbs":7,"title":2},"6":{"body":15,"breadcrumbs":4,"title":2},"60":{"body":48,"breadcrumbs":7,"title":2},"61":{"body":22,"breadcrumbs":8,"title":3},"62":{"body":26,"breadcrumbs":9,"title":4},"63":{"body":42,"breadcrumbs":8,"title":2},"64":{"body":154,"breadcrumbs":7,"title":1},"65":{"body":141,"breadcrumbs":10,"title":4},"66":{"body":109,"breadcrumbs":9,"title":2},"67":{"body":48,"breadcrumbs":9,"title":2},"68":{"body":53,"breadcrumbs":10,"title":3},"69":{"body":135,"breadcrumbs":11,"title":4},"7":{"body":31,"breadcrumbs":4,"title":2},"70":{"body":71,"breadcrumbs":13,"title":3},"71":{"body":50,"breadcrumbs":15,"title":5},"72":{"body":114,"breadcrumbs":11,"title":2},"73":{"body":108,"breadcrumbs":12,"title":3},"74":{"body":144,"breadcrumbs":13,"title":3},"75":{"body":336,"breadcrumbs":15,"title":5},"76":{"body":45,"breadcrumbs":9,"title":2},"77":{"body":73,"breadcrumbs":9,"title":2},"78":{"body":60,"breadcrumbs":9,"title":2},"79":{"body":74,"breadcrumbs":9,"title":2},"8":{"body":45,"breadcrumbs":4,"title":2},"80":{"body":94,"breadcrumbs":15,"title":4},"81":{"body":51,"breadcrumbs":2,"title":1},"82":{"body":30,"breadcrumbs":5,"title":2},"83":{"body":115,"breadcrumbs":6,"title":3},"84":{"body":74,"breadcrumbs":4,"title":1},"85":{"body":100,"breadcrumbs":6,"title":3},"86":{"body":37,"breadcrumbs":9,"title":6},"87":{"body":68,"breadcrumbs":5,"title":1},"88":{"body":20,"breadcrumbs":7,"title":3},"89":{"body":25,"breadcrumbs":8,"title":4},"9":{"body":70,"breadcrumbs":7,"title":5},"90":{"body":64,"breadcrumbs":7,"title":3},"91":{"body":35,"breadcrumbs":7,"title":3},"92":{"body":27,"breadcrumbs":6,"title":2},"93":{"body":79,"breadcrumbs":12,"title":8},"94":{"body":31,"breadcrumbs":5,"title":1},"95":{"body":70,"breadcrumbs":8,"title":4},"96":{"body":36,"breadcrumbs":5,"title":1},"97":{"body":29,"breadcrumbs":7,"title":3},"98":{"body":33,"breadcrumbs":8,"title":4},"99":{"body":62,"breadcrumbs":7,"title":3}},"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":"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":"100","title":"Tuples"},"101":{"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":"101","title":"Compile-Time Validated Indexing"},"102":{"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":"102","title":"Runtime Validated Indexing"},"103":{"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":"103","title":"Mutable Tuples"},"104":{"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":"104","title":"Structs"},"105":{"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":"105","title":"Field Access"},"106":{"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":"106","title":"Mutable Structs"},"107":{"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":"107","title":"Oneofs"},"108":{"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":"108","title":"Check the Concrete Type of a Oneof With the instanceof Operator"},"109":{"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":"109","title":"\"Narrowing\" / Type Guards"},"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":"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":"110","title":"Non-Trivial Example Usage"},"111":{"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":"111","title":"Atoms"},"112":{"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":"112","title":"Static Validation"},"113":{"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":"113","title":"Ad-Hoc \"Enums\""},"114":{"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":"114","title":"Aliases"},"115":{"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":"115","title":"Aliases are Syntactic Sugar"},"116":{"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":"116","title":"Overuse of Aliases Can be a Code Smell"},"117":{"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":"117","title":"Aliases are Not a New Type Declaration"},"118":{"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":"118","title":"Note on \"Nominal Typing\""},"119":{"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":"119","title":"User Defined Types"},"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":"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":"120","title":"Declaring a New Type"},"121":{"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":"121","title":"Instantiating an Instance of a User Defined Type"},"122":{"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":"122","title":"User Defined Types \"Wrap\" an Instance of Another Type"},"123":{"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":"123","title":"\"Unwrapping\" a User Defined Type"},"124":{"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":"124","title":"Compile Time Enforcement"},"125":{"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":"125","title":"Parameterized Types"},"126":{"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":"126","title":"Generic Type Param Must be Referenced in Type Declaration"},"127":{"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":"127","title":"Concrete Type Inference"},"128":{"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":"128","title":"Recursive Types"},"129":{"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":"129","title":"Parameterized Recursive Types"},"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":"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":"130","title":"Impossible-to-Initialize Recursive Alias Type Definitions"},"131":{"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":"131","title":"Type Inference"},"132":{"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":"132","title":"Examples"},"133":{"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":"133","title":"Required Type Annotations"},"134":{"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":"134","title":"Procedure Signatures"},"135":{"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":"135","title":"Lambda Expressions assigned to variables"},"136":{"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":"136","title":"Initializing Empty Builtin Collections"},"137":{"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":"137","title":"Non-literal Tuple Subscript"},"138":{"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":"138","title":"(Advanced) Calls to Generic Procedure With Unconstrained Return Type"},"139":{"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":"139","title":"Any Ambiguously-Typed Expression Passed to a Generic Function Arg Position"},"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":"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":"140","title":"Procedures"},"141":{"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":"141","title":"Functions"},"142":{"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":"142","title":"Consumers"},"143":{"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":"143","title":"Providers"},"144":{"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":"144","title":"Lambdas & First Class Procedures"},"145":{"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":"145","title":"Defining Lambdas"},"146":{"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":"146","title":"First Class Procedure References"},"147":{"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 . Read more about how Claro prevents data-races here .","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Lambdas are Restricted \"Closures\"","id":"147","title":"Lambdas are Restricted \"Closures\""},"148":{"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":"148","title":"Static Validation"},"149":{"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":"149","title":"Captured Variables \"Shadow\" Variables in the Outer Scope"},"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":"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":"150","title":"Manually Emulating Traditional \"Closures\""},"151":{"body":"Claro takes a very principled stance that all control flow in the language should be modeled in a way that is self-consistent within the type system - as such, Claro chooses not to model errors around \"throwing Exceptions\". While many languages (e.g. Java/Python/C++/etc.) were designed around thrown exceptions as their error modeling tool, they all suffer from the same antipattern that make it impossible to determine strictly from looking at a procedure signature whether it's possible for the call to fail, and if so, what that failure might look like. This leads users into unnecessary digging to read implementation details to determine how and why certain unexpected error cases inevitably arise. So, taking inspiration from many prior languages such as Rust, Haskell, and Go, Claro requires errors to be modeled explicitly in procedures' signatures as possible return types so that all callers must necessarily either handle any potential errors, or explicitly ignore them or propagate them up the call stack.","breadcrumbs":"Error Handling » Error Handling","id":"151","title":"Error Handling"},"152":{"body":"Claro's std module exports the following type definition: Fig 1: newtype Error : T This type is a trivial wrapper around any arbitrary type. Its power is in the special treatment that the compiler gives to this type to power Claro's error handling functionality. But first, let's take a look at how a procedure might make use of this type to represent states in practice - the below example demonstrates a function that models safe indexing into a list: Fig 2: atom IndexOutOfBounds\nfunction safeGet(l: [T], i: int) -> oneof> { if (i < 0 or i >= len(l)) { return std::Error(IndexOutOfBounds); } return l[i];\n} var l = [1, 2, 3];\nmatch (safeGet(l, getRandomIndex())) { case _:std::Error -> print(\"Index out of bounds!\"); case X -> print(\"Successfully retrieved: {X}\");\n}\n# ...\n$$provider getRandomIndex() -> int {\n$$ random::forSeed(1)\n$$ |> random::nextNonNegativeBoundedInt(^, 8)\n$$ |> var i = ^;\n$$ return i;\n$$} Output: Index out of bounds! To drive the example home, instead of wrapping an atom which doesn't provide any information beyond the description of the error itself, the error could wrap a type that contains more information: Fig 3: atom TooHigh\natom TooLow\nnewtype IndexOutOfBounds : struct { reason: oneof, index: int\n}\nfunction safeGet(l: [T], i: int) -> oneof> { if (i < 0) { return std::Error(IndexOutOfBounds({reason = TooLow, index = i})); } else if (i >= len(l)) { return std::Error(IndexOutOfBounds({reason = TooHigh, index = i})); } return l[i];\n} var l = [1, 2, 3];\nmatch (safeGet(l, getRandomIndex())) { case std::Error(ERR) -> var unwrappedErr = unwrap(ERR); match (unwrappedErr.reason) { case _:TooHigh -> print(\"Index {unwrappedErr.index} is too high!\"); case _:TooLow -> print(\"Index {unwrappedErr.index} is too low!\"); } case X -> print(\"Successfully retrieved: {X}\");\n}\n# ...\n$$provider getRandomIndex() -> int {\n$$ random::forSeed(1)\n$$ |> random::nextNonNegativeBoundedInt(^, 8)\n$$ |> var i = ^;\n$$ return i;\n$$} Output: Index 5 is too high! Continue on to the next section to learn about how Claro enables simple propagation of std::Error values.","breadcrumbs":"Error Handling » std::Error","id":"152","title":"std::Error"},"153":{"body":"As mentioned in the previous section, the power of Claro's builtin std::Error type comes from the special treatment that the compiler gives to values of that type. Specifically, Claro gives you the ability to early-return an error value from a procedure. If for some reason a procedure has no way of actually handling a potential error itself, it can opt to delegate the handling of the error to any callers. This allows the procedure doing error propagation to be written to handle only the \"happy path\". This example demonstrates a procedure that propagates potential errors to its callers: Fig 1: atom IndexTooHigh\natom IndexTooLow\nfunction safeGet(l: [T], i: int) -> oneof, std::Error> { # ...\n$$ if (i < 0) {\n$$ return std::Error(IndexTooLow);\n$$ } else if (i >= len(l)) {\n$$ return std::Error(IndexTooHigh);\n$$ }\n$$ return l[i];\n} function getRandomPairFromList(l: [T], rng: random::RandomNumberGenerator) -> oneof, std::Error, std::Error> { # std::Error may propagate from either call to safeGet(...). var first: T ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5)); # Note the type annotation isn't necessary. var second ?= safeGet(l, random::nextNonNegativeBoundedInt(rng, 5)); return (first, second);\n} var rng = random::forSeed(0); var firstPair = getRandomPairFromList([1, 2, 3, 4], rng);\nprint(firstPair);\nvar secondPair = getRandomPairFromList([1, 2, 3, 4], rng);\nprint(secondPair); Output: (1, 4)\nError(IndexTooHigh) Note : The error propagation above doesn't allow the caller to know details about whether the error came from the first or second call to safeGet(). This may or may not be desirable - but the design space is left open to Claro users to decide how they want to signal errors to best model the noteworthy states of their problem domain.","breadcrumbs":"Error Handling » Error Propagation » Error Propagation via ?= Operator","id":"153","title":"Error Propagation via ?= Operator"},"154":{"body":"You can observe in the above example that the ?= operator will propagate any std::Error found on the right-hand-side of the assignment. So, as a result, the value that reaches the variable on the left-hand-side of the assignment will drop all std::Error variants from the oneof<...>. Below, some examples are listed to indicate the resulting type of the ?= operator: Fig 2: $$atom A\n$$atom B\n$$atom C\n$$\nprovider demoErrorPropagation() -> oneof, std::Error> { # When there would be multiple non-error variants, the result type remains a oneof<...>. var firstPotentialErr: oneof> = # ...\n$$ A; var firstTypeDemo: oneof ?= firstPotentialErr;\n$$ _ = firstTypeDemo; # When there would only be a single non-error variant, the result type is narrowed to a concrete type. var secondPotentialErr: oneof, std::Error> = # ...\n$$ A; var secondTypeDemo: A ?= secondPotentialErr; return secondTypeDemo;\n}","breadcrumbs":"Error Handling » Error Propagation » ?= Operator Drops All Error Cases","id":"154","title":"?= Operator Drops All Error Cases"},"155":{"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":"155","title":"Generics"},"156":{"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":"156","title":"Contracts"},"157":{"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":"157","title":"Contracts are Not Interfaces"},"158":{"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":"158","title":"Implementing a Contract"},"159":{"body":"Of course, if you attempted to call a generic procedure that requires some contract(s) to be implemented, a compilation error will be triggered if the contract was not actually implemented. Fig 4: # Operators hasn't been implemented, so this call will be rejected.\nprint(sum([1.0, 2.0, 3.0])); Compilation Errors: Invalid Generic Procedure Call: For the call to the following generic procedure `sum` with the following signature: `function<[T] -> T> Generic Over {T} Requiring Impls for Contracts {Operators$}` No implementation of the required contract Operators$.\n1 Error Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Generics » Contracts » Implementing a Contract » Static Enforcement of requires(...) Clauses","id":"159","title":"Static Enforcement of requires(...) Clauses"},"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":"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":"160","title":"A Note on Static Dispatch via \"Monomorphization\""},"161":{"body":"So far we've only demonstrated very simple contracts with over a single generic type parameter - however, there is no hard restriction on the number of type parameters that a contract can reference. (Of course, typical software design principles still apply, a contract with many type params is probably going to be too complex to actually be used effectively in practice.) Here's a contract defined over multiple type params: Fig 1: atom IndexOutOfBounds\ncontract RandomAccess { function read(collection: C, index: int) -> oneof>; function write(collection: C, index: int, elem: E) -> oneof>;\n} And an implementation of that contract: Fig 2: newtype Node : mut struct { val: T, next: oneof, std::Nothing>\n}\nfunction findNode(head: Node, index: int) -> oneof, std::Error> { # ...\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n} implement RandomAccess, string> { function read(head: Node, index: int) -> oneof> { var found ?= findNode(head, index); return unwrap(found).val; } function write(head: Node, index: int, elem: string) -> oneof> { var found ?= findNode(head, index); unwrap(found).val = elem; return std::OK; }\n} Note : Learn more about the ?= operator used in the above example in the Error Handling section.","breadcrumbs":"Generics » Contracts » Multiple Type Params » Contracts with Multiple Type Params","id":"161","title":"Contracts with Multiple Type Params"},"162":{"body":"A contract procedure is always called in exactly the same way regardless of how many type parameters the contract was defined over. Fig 3: $$newtype Node : mut struct {\n$$ val: T,\n$$ next: oneof, std::Nothing>\n$$}\n$$function findNode(head: Node, index: int) -> oneof, std::Error> {\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n$$}\n$$\n$$implement RandomAccess, string> {\n$$ function read(head: Node, index: int) -> oneof> {\n$$ var found ?= findNode(head, index);\n$$ return unwrap(found).val;\n$$ }\n$$ function write(head: Node, index: int, elem: string) -> oneof> {\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = elem;\n$$ return std::OK;\n$$ }\n$$}\n$$\nvar myLinkedList = Node(mut {val = \"head\", next = Node(mut {val = \"middle\", next = Node(mut {val = \"tail\", next = std::Nothing})})}); for (i in [-1, 0, 1, 2, 3]) { var readRes = # Explicitly constrain the return type, so Claro knows which contract implementation to dispatch to. cast( oneof>, RandomAccess::read(myLinkedList, i) ); print(\"index {i}: {readRes}\");\n} Output: index -1: Error(IndexOutOfBounds)\nindex 0: head\nindex 1: middle\nindex 2: tail\nindex 3: Error(IndexOutOfBounds)","breadcrumbs":"Generics » Contracts » Multiple Type Params » Calling a Contract Procedure Over Multiple Type Params","id":"162","title":"Calling a Contract Procedure Over Multiple Type Params"},"163":{"body":"Notice that in the prior example , the call to RandomAccess::read(...) is wrapped in an explicit static cast(...). If you read closely, you can see that this is because the arguments alone do not fully constrain the type that the call should return (it could be that you intend to dispatch to some other impl RandomAccess, Foo>). Read more about this situation in Required Type Annotations . By allowing this sort of contract definition, Claro actually opens up a design space for contracts that can have multiple slight variations implemented, enabling callers can conveniently just get the return type that they need based on context. However, you could argue that this particular contract definition does not benefit from that flexibility. This contract would arguably be more useful if RandomAccess::read(...) didn't have an ambiguous return type. Learn how to address this issue using \"Implied Types\"","breadcrumbs":"Generics » Contracts » Multiple Type Params » Limitation of the Above Contract Definition","id":"163","title":"Limitation of the Above Contract Definition"},"164":{"body":"In the previous section we noticed a problem with the definition of the contract: Fig 1: atom IndexOutOfBounds\ncontract RandomAccess { function read(collection: C, index: int) -> oneof>; function write(collection: C, index: int, elem: E) -> oneof>;\n} Specifically, we decided that this contract definition is too unconstrained: knowing the types of the arguments in a RandomAccess::read(...) call is insufficient to know which contract implementation the call should dispatch to. To drive this point home, in the below example there are two implementations of the contract both over the same collection type, but over different element types. In this definition of the contract, there's nothing stopping this from happening. Fig 2: $$newtype Node : mut struct {\n$$ val: T,\n$$ next: oneof, std::Nothing>\n$$}\n$$function findNode(head: Node, index: int) -> oneof, std::Error> {\n$$ # ...\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n$$}\n$$\nimplement RandomAccess, string> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return unwrap(found).val; } function write(head: Node, index: int, elem: string) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = elem;\n$$ return std::OK; }\n}\nimplement RandomAccess, int> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return len(unwrap(found).val); } function write(head: Node, index: int, elem: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = \"{elem}\";\n$$ return std::OK; }\n} As a result, any calls to the RandomAccess::read(...) function are inherently ambiguous, and require the return type to be explicitly, statically constrained. Any unconstrained calls to this contract procedure would result in a compilation error where Claro tries to ask the user which contract implementation they actually intend to dispatch to: Fig 3: var myLinkedList = Node(mut {val = \"head\", next = Node(mut {val = \"middle\", next = Node(mut {val = \"tail\", next = std::Nothing})})}); print(RandomAccess::read(myLinkedList, 1)); Compilation Errors: implied_types_EX3_example.claro:3: Ambiguous Contract Procedure Call: Calls to the procedure `RandomAccess$::read` is ambiguous without an explicit type annotation to constrain the expected generic return type `oneof>`.\nprint(RandomAccess::read(myLinkedList, 1)); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n1 Error Note : This ambiguity is an inherent feature of the RandomAccess definition itself. Claro would still produce a compilation error if there happened to only be a single implementation because another conflicting implementation could be added at any time.","breadcrumbs":"Generics » Contracts » Multiple Type Params » (Advanced) Implied Types » (Advanced) Implied Types","id":"164","title":"(Advanced) Implied Types"},"165":{"body":"Of course, there's arguably very little reason for this particular contract to actually allow multiple implementations over the same collection type (the second implementation RandomAccess, int> above is very contrived). So ideally this contract definition should statically encode a restriction on such implementations. It should only be possible to implement this contract once for a given collection type - meaning that there would be no more ambiguity on the return type of calls to RandomAccess::read(...). Thankfully, you can encode this restriction directly into contract definition using \"Implied Types\": Fig 4: atom IndexOutOfBounds # Type `C` implies type `E`. There can only be a single RandomAccess impl for any given `C`.\ncontract RandomAccess E> { function read(collection: C, index: int) -> oneof>; function write(collection: C, index: int, elem: E) -> oneof>;\n} The only change is in the declaration of the contract's generic type parameters: E> (read: \"C implies E\") was used instead of . This explicitly declares to Claro that this implication must be maintained for all types, C, over which the contract is implemented throughout the entire program. As a result, it will now be a compilation error for two separate implementations RandomAccess and RandomAccess (where E1 != E2) to coexist, as this would violate the constraint that C => E. So now, attempting to define the two implementations given in the previous example would result in a compilation error: Fig 5: $$newtype Node : mut struct {\n$$ val: T,\n$$ next: oneof, std::Nothing>\n$$}\n$$function findNode(head: Node, index: int) -> oneof, std::Error> {\n$$ # ...\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n$$}\n$$\nimplement RandomAccess, string> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return unwrap(found).val; } function write(head: Node, index: int, elem: string) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = elem;\n$$ return std::OK; }\n}\nimplement RandomAccess, int> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return len(unwrap(found).val); } function write(head: Node, index: int, elem: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = \"{elem}\";\n$$ return std::OK; }\n} Compilation Errors: Invalid Contract Implementation: The Contract you're attempting to implement is defined as RandomAccess$ E> which means that there can only be exactly one implementation of RandomAccess$ for the unconstrained type params C. However, the following conflicting implementations were found: RandomAccess$, int> AND RandomAccess$, string>\n1 Error Now, by eliminating one of the implementations you fix the compilation error. In addition, you're now able to call RandomAccess::read(...) without any ambiguity! Fig 6: $$newtype Node : mut struct {\n$$ val: T,\n$$ next: oneof, std::Nothing>\n$$}\n$$function findNode(head: Node, index: int) -> oneof, std::Error> {\n$$ # ...\n$$ if (index < 0) { return std::Error(IndexOutOfBounds); }\n$$ repeat (index) {\n$$ var next = unwrap(head).next;\n$$ if (next instanceof Node) {\n$$ head = next;\n$$ } else {\n$$ return std::Error(IndexOutOfBounds);\n$$ }\n$$ }\n$$ return head;\n$$}\n$$\n# This is now the only implementation in the entire program.\nimplement RandomAccess, string> { function read(head: Node, index: int) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ return unwrap(found).val; } function write(head: Node, index: int, elem: string) -> oneof> { # ...\n$$ var found ?= findNode(head, index);\n$$ unwrap(found).val = elem;\n$$ return std::OK; }\n} var myLinkedList = Node(mut {val = \"head\", next = Node(mut {val = \"middle\", next = Node(mut {val = \"tail\", next = std::Nothing})})}); print(RandomAccess::read(myLinkedList, 1)); Output: middle","breadcrumbs":"Generics » Contracts » Multiple Type Params » (Advanced) Implied Types » Statically Preventing Ambiguous Contract Definitions with Implied Types","id":"165","title":"Statically Preventing Ambiguous Contract Definitions with Implied Types"},"166":{"body":"If you made it through this entire section, you should have a strong understanding of the purpose and value add of implied types. However, keep in mind that both unconstrained and implied types have their uses! In particular, the return type ambiguity demonstrated in this section may actually be used to good effect, particularly in the case of designing more \"fluent\" APIs. Don't just assume that every contract should be defined using implied types. You should be applying good design judgement to determine if and when to use this feature or to leave a contract's type parameters unconstrained.","breadcrumbs":"Generics » Contracts » Multiple Type Params » (Advanced) Implied Types » Deciding Whether to Use Implied Types to Constrain a Contract's Implementations is a Judgement Call","id":"166","title":"Deciding Whether to Use Implied Types to Constrain a Contract's Implementations is a Judgement Call"},"167":{"body":"\"Dynamic Dispatch\" is a fancy term for a call to an overloaded procedure (one with multiple implementations whose signatures differ only in the types of args/return value) being routed (a.k.a. \"dispatched\") to the appropriate implementation based on type information solely available at runtime .","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Dynamic Dispatch","id":"167","title":"Dynamic Dispatch"},"168":{"body":"The short version of this section is that Claro supports the following: Fig 1: requires(Stringify)\nconsumer prettyPrintList(l: [T]) { for (e in l) { print(Stringify::displayStr(e)); }\n} var elems: [oneof] = [Foo(1234), Bar(\"some string\"), Buzz(\"another\")];\nprettyPrintList(elems);\n$$\n$$contract Stringify {\n$$ function displayStr(t: T) -> string;\n$$}\n$$\n$$newtype Foo : int\n$$implement Stringify {\n$$ function displayStr(t: Foo) -> string {\n$$ var boundingLine = strings::repeated(\"*\", len(\"{unwrap(t)}\") + len(\"* Foo() *\"));\n$$ return \"{boundingLine}\\n* {t} *\\n{boundingLine}\";\n$$ }\n$$}\n$$\n$$newtype Bar : string\n$$implement Stringify {\n$$ function displayStr(t: Bar) -> string {\n$$ var boundingLine = strings::repeated(\"-\", len(unwrap(t)) + len(\"| Bar() |\"));\n$$ return \"{boundingLine}\\n| {t} |\\n{boundingLine}\";\n$$ }\n$$}\n$$\n$$newtype Buzz : string\n$$implement Stringify {\n$$ function displayStr(t: Buzz) -> string {\n$$ var boundingLine = strings::repeated(\"#\", len(unwrap(t)) + len(\"# Buzz() #\"));\n$$ return \"{boundingLine}\\n# {t} #\\n{boundingLine}\";\n$$ }\n$$} Output: *************\n* Foo(1234) *\n*************\n--------------------\n| Bar(some string) |\n--------------------\n#################\n# Buzz(another) #\n################# Feel free to ponder how this works. But keep reading if it's not immediately obvious what's going on here.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » TLDR;","id":"168","title":"TLDR;"},"169":{"body":"This entire section is intended to build up your intuition for Claro's approach to Dynamic Dispatch by comparing and\ncontrasting with Java. Skip ahead TODO(steving) Add link if you're already familiar with the concept of Dynamic Dispatch, or keep reading for something of a deep dive. Claro is truly a procedural language, and so is philosophically opposed to the personification of data that is a fundamental property of \"Object-Oriented\" programming (OOP) languages like Java/Python/C++/etc. So, you won't find anything resembling \"Objects\" or \"Classes\" in Claro. Additionally, Claro is philosophically opposed to the complexity of inheritance, so again Claro's type system does not support it. However, though Claro takes issue with the path OOP takes to achieve it, the paradigm provides some obviously useful abstractions that help programmers write very expressive code. Of particular interest in this section is the ability to write code that treats values of distinct types interchangeably for the sake of dispatching to procedures that are known to be implemented over each of the distinct types in question. In a language like Java, you'll accomplish this either by using interfaces , or by creating subtype relationships between types using inheritance .","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » By Comparison to Object-Oriented Programming","id":"169","title":"By Comparison to Object-Oriented Programming"},"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":"For example, the below Java code defines an interface with a single \"method\" that three classes implement. Fig 2: /*** JAVA ***/\n$$import java.util.List;\n$$import java.util.ArrayList;\n$$import java.lang.StringBuilder;\n$$\ninterface Stringify { String displayStr();\n}\n$$\nclass Foo implements Stringify { // ...\n$$ private final int wrapped;\n$$ public Foo(int wrapped) {\n$$ this.wrapped = wrapped;\n$$ }\n$$ @Override public String displayStr() { // ...\n$$ String boundingLine = Util.repeated('*', String.valueOf(this.wrapped).length() + \"* Foo() *\".length());\n$$ return String.format(\"%s\\n* Foo(%s) *\\n%s\", boundingLine, this.wrapped, boundingLine); }\n}\n$$\nclass Bar implements Stringify { // ...\n$$ private final String wrapped;\n$$ public Bar(String wrapped) {\n$$ this.wrapped = wrapped;\n$$ }\n$$ @Override public String displayStr() { // ...\n$$ String boundingLine = Util.repeated('-', this.wrapped.length() + \"| Bar() |\".length());\n$$ return String.format(\"%s\\n| Foo(%s) |\\n%s\", boundingLine, this.wrapped, boundingLine); }\n}\n$$\nclass Buzz implements Stringify { // ...\n$$ private final String wrapped;\n$$ public Buzz(String wrapped) {\n$$ this.wrapped = wrapped;\n$$ }\n$$ @Override public String displayStr() { // ...\n$$ String boundingLine = Util.repeated('#', this.wrapped.length() + \"# Buzz() #\".length());\n$$ return String.format(\"%s\\n# Buzz(%s) #\\n%s\", boundingLine, this.wrapped, boundingLine); }\n}\n$$\n$$class Util {\n$$ public static String repeated(char c, int n) {\n$$ StringBuilder sb = new StringBuilder();\n$$ for (; n > 0; n--) {\n$$ sb.append(c);\n$$ }\n$$ return sb.toString();\n$$ }\n$$}\n$$ And so a Java programmer can write a method that accepts an argument of type Stringify... but in Java parlance any type that implements the Stringify interface can be considered a subtype of Stringify and passed in its place: Fig 3: /*** JAVA ***/\npublic class Demo { public static void main(String... args) { // Foo, Bar, and Buzz are all \"subtypes\" of Stringify. prettyPrint(new Foo(1234)); prettyPrint(new Bar(\"some string\")); prettyPrint(new Buzz(\"another\")); } static void prettyPrint(Stringify x) { System.out.println(x.displayStr()); }\n} This is a very convenient abstraction. However, in Java this single method implementation must handle multiple possible concrete subtypes of Stringify (in this case Foo, Bar, and Buzz). Java addresses this by dispatching to the correct implementation of the displayStr() method at runtime , by dynamically checking the actual concrete type of the object currently being handled. This is already an example of Dynamic Dispatch. In Java, Dynamic Dispatch is the norm .","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Using an Interface \"Type\" as a Procedure Arg ( in an OOP language )","id":"170","title":"Using an Interface \"Type\" as a Procedure Arg ( in an OOP language )"},"171":{"body":"But subtyping is by no means essential for this to be possible. By now you've already seen that Contracts provide a mechanism to express the same thing without resorting to creating any subtyping relationships between types. Fig 4: #### CLARO ####\nprettyPrint(Foo(1234));\nprettyPrint(Bar(\"some string\"));\nprettyPrint(Buzz(\"another\")); requires(Stringify)\nconsumer prettyPrint(t: T) { print(Stringify::displayStr(t));\n}\n$$\n$$contract Stringify {\n$$ function displayStr(t: T) -> string;\n$$}\n$$\n$$newtype Foo : int\n$$implement Stringify {\n$$ function displayStr(t: Foo) -> string {\n$$ var boundingLine = strings::repeated(\"*\", len(\"{unwrap(t)}\") + len(\"* Foo() *\"));\n$$ return \"{boundingLine}\\n* {t} *\\n{boundingLine}\";\n$$ }\n$$}\n$$\n$$newtype Bar : string\n$$implement Stringify {\n$$ function displayStr(t: Bar) -> string {\n$$ var boundingLine = strings::repeated(\"-\", len(unwrap(t)) + len(\"| Bar() |\"));\n$$ return \"{boundingLine}\\n| {t} |\\n{boundingLine}\";\n$$ }\n$$}\n$$\n$$newtype Buzz : string\n$$implement Stringify {\n$$ function displayStr(t: Buzz) -> string {\n$$ var boundingLine = strings::repeated(\"#\", len(unwrap(t)) + len(\"# Buzz() #\"));\n$$ return \"{boundingLine}\\n# {t} #\\n{boundingLine}\";\n$$ }\n$$} Output: *************\n* Foo(1234) *\n*************\n--------------------\n| Bar(some string) |\n--------------------\n#################\n# Buzz(another) #\n################# And additionally, as Claro's generic procedures are \"monomorphized\" , there is actually no Dynamic Dispatch going on in the above example . And when you stop and think about it, why would there be? As a human looking at the three calls to prettyPrint(...), there's zero uncertainty of the types in question. Unlike in the Java case, the Claro compiler actually takes advantage of this type information as well to generate code that statically dispatches to the correct implementations without requiring any runtime type checks.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Requiring a Contract to Be Implemented Over Generic Type Params (In Claro)","id":"171","title":"Requiring a Contract to Be Implemented Over Generic Type Params (In Claro)"},"172":{"body":"You may be thinking that Java's use of subtyping makes the language simpler because it allows you to avoid the use of Generics, but this is debatable at best. Consider a very slightly modified version of the above prettyPrint() function that instead takes two arguments: Fig 5: /*** JAVA ***/\npublic class Demo { public static void main(String... args) { // Java allows **both** of these calls - whether you want this or not. prettyPrintPair(new Foo(1234), new Foo(56678)); prettyPrintPair(new Foo(1234), new Bar(\"some string\")); } static void prettyPrintPair(Stringify x, Stringify y) { System.out.println(\"First:\" + x.displayStr()); System.out.println(\"Second:\" + x.displayStr()); }\n} As it's currently defined, there's nothing requiring the two arguments to actually have the same type. In this trivial example, that may be fine, but if I were to actually want to ensure that two arguments both implement an interface and they both actually have the same type, then I'm out of luck - there's no way to statically encode this constraint in Java! In Claro, you would simply write: Fig 6: #### CLARO ####\nrequires(Stringify)\nconsumer prettyPrintPair(x: T, y: T) { print(\"First:\\n{Stringify::displayStr(x)}\"); print(\"Second:\\n{Stringify::displayStr(y)}\");\n} And it will be a compilation error to pass arguments of different types: Fig 7: #### CLARO ####\nprettyPrintPair(Foo(1234), Bar(\"some string\")); Compilation Errors: dynamic_dispatch_EX7_example.claro:2: Invalid type: Found: Bar Expected: Foo\nprettyPrintPair(Foo(1234), Bar(\"some string\")); ^^^^^^^^^^^^^^^^^^\n1 Error But yet it will still be completely valid to pass arguments of the same type just like we wanted: Fig 8: #### CLARO ####\nprettyPrintPair(Foo(1234), Foo(5678));\nprint(\"\");\nprettyPrintPair(Bar(\"some string\"), Bar(\"another\")); Output: First:\n*************\n* Foo(1234) *\n*************\nSecond:\n*************\n* Foo(5678) *\n************* First:\n--------------------\n| Bar(some string) |\n--------------------\nSecond:\n----------------\n| Bar(another) |\n---------------- And for the sake of completeness, Claro's generics also allow you to explicitly express that you would like to allow both arguments to potentially have different types: Fig 9: requires(Stringify, Stringify)\nconsumer prettyPrintPair(x: T, y: V) { print(\"First:\\n{Stringify::displayStr(x)}\"); print(\"Second:\\n{Stringify::displayStr(y)}\");\n} prettyPrintPair(Foo(1234), Bar(\"some string\")); *For the sake of transparency, as Claro's a WIP, there's actually currently an open compiler regression that broke this functionality at the moment. TODO(steving) Fix this. HOT TAKE: While Java's support for subtyping may seem like a powerful tool (and sometimes it really is convenient), it's actually explicitly taking away type information . You in fact end up with a less expressive language as a result of depending on subtyping.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » A (Not So) Brief Aside on the Limitations of Subtyping","id":"172","title":"A (Not So) Brief Aside on the Limitations of Subtyping"},"173":{"body":"So far we've seen that Claro programs do not need to resort to Dynamic Dispatch in situations where the types are actually statically guaranteed to be fixed. However, it's not that difficult to conceive of a situation where a specific type cannot be known until runtime. For example, consider a simple game where different units are dynamically created throughout the course of gameplay. It would be very convenient for the game to be able to implement drawing arbitrary units without being forced to resort to painstakingly hand-write rendering logic for each unit explicitly. In fact, the below video demonstrates a simple Asteroids game written in Claro that accomplishes exactly that: The game's implementation contains a function with the following signature that fully handles the game's rendering logic (see the game's full implementation here ): Fig 10: contract Unit { consumer move(t: T); function hasSpeedBoost(t: T) -> boolean;\n} contract Render { function render(t: T) -> char; function getLoc(t: T) -> Location;\n} requires(Unit, Render)\nfunction gameTick(gameUnits: mut [T], gameBoard: [mut [char]], spaceship: Spaceship, onlyUnitsWSpeedBoost: boolean) -> tuple {\n$$ # The full implementation is too long for these docs. For the full implementation, see:\n$$ # See https://github.com/JasonSteving99/claro-lang/blob/d6177ff8719e894f709c42811bd0b7f0a3d6c4d9/examples/claro_programs/asteroids.claro#L121-L123 # ... # Update unit locations. for (unit in gameUnits) { # ... Unit::move(unit); } # ... # Populate gameBoard. for (unit in gameUnits) { # ... gameBoard[loc.r][loc.c] = Render::render(unit); } # ...\n} Looking more closely, the function accepts an argument gameUnits: mut [T] that contains all of the units, including the asteroids, the player's ship, and any missiles that the player fired. This function is able to actually handle all of these unit types without the programmer needing to hardcode any specific details about them explicitly because of the requires(Unit, Render) constraint on the function that ensures that whatever is inside the gameUnits list, all elements will certainly implement the specified contracts. As a result, the function is able to treat all elements within the gameUnits list interchangeably, even though it has no knowledge whatsoever of what types are actually represented within. To make things even more interesting, the call (see full source ) to the gameTick() function, passes a gameUnits list defined to contain various different unit types: Fig 11: var gameUnits: mut [oneof];\n# ...\nvar gameTickRes = gameTick(gameUnits, ...); This goes to demonstrate that Claro is smart enough to actually understand that the type oneof satisfies the requires(Unit, Render) constraint, because each variant implements the required contract (if any didn't, the call would be rejected with a compilation error). This is Dynamic Dispatch! Because the call was made over types that can't be known until runtime, Claro generates code that will perform the necessary type checks to dispatch to the appropriate procedures at runtime.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Values Of Unknown Type","id":"173","title":"Values Of Unknown Type"},"174":{"body":"If you've made it this far, then congrats! You should have a deep understanding of Dynamic Dispatch in Claro! The last thing to mention is that Dynamic Dispatch is very intentionally something that you have to explicitly opt into in Claro. It is slower and more complicated than the typical Static Dispatch, and Claro has been carefully designed to make Dynamic Dispatch a rare occurrence as it's actually only necessary in very specific, limited situations. Your takeaway from this section should be that while it is very simple to achieve Dynamic Dispatch in Claro, it is actually not a very common situation that you are very likely to run into on a regular basis. But when it does, Claro makes your life easy.","breadcrumbs":"Generics » Contracts » Dynamic Dispatch » Dynamic Dispatch is Rare","id":"174","title":"Dynamic Dispatch is Rare"},"175":{"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":"175","title":"Generic Return Type Inference"},"176":{"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":"176","title":"Ambiguous Calls"},"177":{"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(1)","breadcrumbs":"Generics » Generic Return Type Inference » Ambiguity via Indirect Calls to Contracts","id":"177","title":"Ambiguity via Indirect Calls to Contracts"},"178":{"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":"178","title":"Copying Data"},"179":{"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":"179","title":"Deep Copying"},"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":"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":"180","title":"Mutability Coercion on Copy"},"181":{"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":"181","title":"Mutability Coercion Can Apply to Type Parameters of a User Defined Type"},"182":{"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":"182","title":"Performance Optimizations"},"183":{"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 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":"183","title":"Claro's copy(...) is Aware of Mutability"},"184":{"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 rigorous \"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.739 seconds\nBuiltin copy time: 1.35E-4 seconds manuallyCopied == GIANT_TEST_LIST: true\nefficientlyCopied == GIANT_TEST_LIST: true","breadcrumbs":"Copying Data » Performance Optimizations » Demonstrating the Performance Win","id":"184","title":"Demonstrating the Performance Win"},"185":{"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":"185","title":"Known copy(...) Bugs"},"186":{"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(37), ComplexData(6)}), ComplexData((ComplexData((ComplexData(-1), ComplexData(-1))), ComplexData(82))), ComplexData({ComplexData(2), ComplexData(64), ComplexData(81)})}) 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":"186","title":"Compiler Stack Overflows on Copying Recursive Types"},"187":{"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":"187","title":"Generated Copy Logic Severs Shared References to Mutable Data"},"188":{"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":"188","title":"Mutability Coercion Can Circumvent a User Defined Type's initializers Restrictions"},"189":{"body":"Strangely, bundling files into builds to be read at runtime regardless of where the executable program gets moved and run from can be a significant pain point in many languages. Of course, each language provides some mechanism to address this concern, but it typically requires either learning about some external build system feature, or figuring out how to pass the correct sequence of flags to compilers. And then even once you do, figuring out the correct incantation to successfully read that resource file can be just as frustrating (looking at you Java). Claro tries to make this much simpler by directly modelling Resource Files as part of the exposed claro_binary() and claro_module() build rules that you'll be using already. Declaring a Resource File to be bundled into the final deploy Jar is as simple as listing it in your Build target similarly to how a Module dependency would be declared: Fig 1: load(\"//@claro-lang:rules.bzl\", \"claro_binary\") claro_binary( name = \"example\", main_file = \"ex1.claro\", resources = { \"MyReource\": \"example_resource.txt\", }\n) The Build target above has an explicit build time dependency on a Resource File named example_resource.txt. As you've by now come to expect, if the file is missing for some reason Bazel will raise a Build error letting you know. You won't simply have to try running your program and go through a whole debugging process just to find out 5 minutes later that you misspelled the file name. Now, your program has access to the Resource File MyResource by using the auto-generated resources::MyResource static value. It can then be read using one of the available functions exported by the StdLib's files Module : Fig 2: resources::MyResource |> files::readOrPanic(^) |> print(\"Resource File Content:\\n\\n{^}\"); Output: Resource File Content: this is just\nsome arbitrary text\nin a file\nto use as an example","breadcrumbs":"Resource Files » Resource Files","id":"189","title":"Resource Files"},"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":"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":"190","title":"Module System"},"191":{"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":"191","title":"Defining a Module"},"192":{"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. Fig 1: # 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":"192","title":"API"},"193":{"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): Fig 2: # 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} Fig 3: # pretty_print.claro consumer prettyPrint(f: Foo) { unwrap(f) |> \"Foo: {^}\" |> Boxes::wrapInBox(^) # <-- Calling dep Module function. |> print(^);\n}","breadcrumbs":"Module System » Sources","id":"193","title":"Sources"},"194":{"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. Dependency Naming: While consumers are allowed to pick any name they want for Modules that they depend on, it should be noted that Claro will adopt the convention that all non-StdLib Module names must begin with an uppercase letter . All StdLib Modules will be named beginning with a lowercase letter. This is intended to allow the set of StdLib modules to expand over time without ever having to worry about naming collisions with user defined Modules in existing programs. Static enforcement of this convention hasn't been implemented yet, but just know that it's coming in a future release.","breadcrumbs":"Module System » Dependencies","id":"194","title":"Dependencies"},"195":{"body":"A Claro Module is fully defined from the above pieces by adding a claro_module(...) definition to the corresponding Bazel BUILD file: Fig 4: # BUILD load(\"@claro-lang//:rules.bzl\", \"claro_module\") 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":"195","title":"Defining BUILD Target"},"196":{"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":"196","title":"Building a Module"},"197":{"body":"To close the loop, the above example Module could be consumed and used in the following executable Claro program in the following way. Fig 5: # BUILD load(\"@claro-lang//:rules.bzl\", \"claro_binary\") ... claro_binary( name = \"test\", main_file = \"test.claro\", deps = { \"Ex\": \":example\", },\n) Fig 6: # 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); Output: ----------\n| Foo: 3 |\n----------\n-----------\n| Foo: 10 |\n-----------","breadcrumbs":"Module System » Executable Using Above Example Module","id":"197","title":"Executable Using Above Example Module"},"198":{"body":"As you've seen in the previous section, a Claro Module is defined by its API which fully declares what downstream consumers of the Module will gain access to by placing a dependency on it. In Claro, this API is explicitly declared using a .claro_module_api file that simply contains type information, signatures, and names of what's implemented within, but does not contain any concrete implementations itself. This may seem like it's just extra boilerplate, but in fact, this separation of API and implementation is actually the source of the extreme modularity that Claro programs can leverage. In particular, it's very important to note that this separation implies that it is impossible for two separate modules to be \"tightly coupled\"! Whereas in other programming languages like Java or Python, you must consciously plan ahead in order to maintain \"loose coupling\" between program components. This guarantee of loose coupling between Modules will be evaluated in more detail in a following section , but for now, we'll just take a moment to explicitly outline exactly what can be exported by a Module's API.","breadcrumbs":"Module System » Module APIs » Module APIs","id":"198","title":"Module APIs"},"199":{"body":"Of course, the most obvious reason to create a new Module is to factor out some logic for the sake of making it reusable in multiple places in your program, or even just to keep another Module's implementation from growing in size indefinitely. So, the first thing that you're likely to export from a Module are procedures. To do so, you will simply declare the signature of the procedure(s) to be exported - that is, everything but the implementation of the procedure. A procedure signature ends with a ; instead of the usual implementation logic inside curly braces. For example, the following signatures are exported from the StdLib's strings module : Fig 1: # strings.claro_module_api function fromChar(c: char) -> string;\nfunction charAt(s: string, i: int) -> char; # ... Including a procedure signature in a Module's API file is a declaration that any dependent of this Module will have access to a procedure with the given signature, so Claro will statically validate that any claro_module(...) target exporting any procedure signatures actually implements that procedure within its given srcs. So, your build target will be required to declare which .claro source file(s) actually implement the exported procedures as explained in the introduction to defining Modules .","breadcrumbs":"Module System » Module APIs » Procedure Signatures » Procedure Signatures","id":"199","title":"Procedure Signatures"},"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"},"200":{"body":"Modules can also be used to export definitions of Types or Aliases that are intended to be used throughout your overall program.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Type & Alias Definitions","id":"200","title":"Type & Alias Definitions"},"201":{"body":"Exporting a Type definition can be as simple as just using the same Type definition syntax that you'd use within a .claro source file. For example, the std module exports the following Type: Fig 1: # std.claro_module_api newtype Error : T # ... The one thing to keep in mind when exporting a Type definition using this basic syntax is that you're explicitly giving\nconsumers access to the internal details of the type itself. This has the potential to make for a very unstable API as\nany consumers can freely unwrap values of the type and manipulate its underlying representation at will. This is obviously unsafe if the Type happens to be mutable as downstream consumers may not know how to maintain any inter-field\ninvariants if they're allowed to mutate it at will. And beyond mutability, perhaps more subtly, you should also consider whether there will be lots of downstream users directly accessing the Type's internal representation, and if so whether the representation is ever subject to any future change. If so, in the future, it may unknowingly become very hard to ever make changes to the Type's internal representation as, to do so, you would simultaneously be forced to update all of the downstream references to the Type's internal representation. Thankfully, Claro actually has mechanisms to hide the internal representation of a Type definition from downstream consumers. Learn more in the sections on Unwrappers and Opaque Types .","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Exporting Type Definitions","id":"201","title":"Exporting Type Definitions"},"202":{"body":"Exporting an Atom is something of a hybrid between exporting a static value and a Type definition, as an atom defines a new type whose only value is the Atom itself. But again, you may export Atoms from Module APIs exactly as it would be defined within a .claro source file. For example, the strings module exports the following atom and several functions that reference it. Fig 2: # strings.claro_module_api atom NOT_FOUND\nfunction indexOf(s: string, of: string) -> oneof;\nfunction indexOfFromIndex(s: string, of: string, from: int) -> oneof;\nfunction lastIndexOf(s: string, of: string) -> oneof;\nfunction lastIndexOfFromIndex(s: string, of: string, from: int) -> oneof; # ...","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Exporting Atoms","id":"202","title":"Exporting Atoms"},"203":{"body":"While Aliases largely exist to allow you to create your own convenient syntax sugar for complex types, it can sometimes be useful for a Module to provide a standardized Alias for long or complex types that downstream usages could benefit from having a shorthand for. Syntax for exporting an Alias in a Module API is exactly the same as the syntax for declaring an Alias in a .claro source file. Fig 3: # ex1.claro_module_api alias ComplexStruct : struct { fieldA: tuple< struct { innerA: int, innerB: [[char]] }, int, float >, fieldB: provider>\n} # It'll be much easier for users to be able to refer to this type using the exported\n# alias rather than the type itself.\nprovider getRandomComplexStruct() -> ComplexStruct;","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Exporting Aliases","id":"203","title":"Exporting Aliases"},"204":{"body":"In general, if your Module exclusively exports Type or Alias definitions, you actually do not need to provide any .claro srcs to the defining claro_module(...) target, as the definitions themselves fully specify the Module in their own right. Fig 4: # ex4.claro_module_api alias UserLookupError : oneof atom USER_NOT_FOUND\natom USER_DELETED\natom USER_SUSPENDED Fig 5: load(\"//:rules.bzl\", \"claro_module\") claro_module( name = \"user_error_types\", module_api_file = \"ex4.claro_module_api\", # You could optionally, explicitly declare an empty list. # srcs = [],\n)","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Modules Exporting Only Types/Aliases Don't Require any .claro Source Files","id":"204","title":"Modules Exporting Only Types/Aliases Don't Require any .claro Source Files"},"205":{"body":"Claro's builtin types are already fully capable of expressing any data structure, and so the entire purpose of User-Defined Types is to allow user code to overlay new semantic meaning onto types beyond just the raw data values themselves. Claro supports two simple constructs that allow User-Defined Types to constrain, and reinterpret the raw data types that they wrap. Note that both of these constructs should likely only be used in limited cases where you have a very specific reason to be doing so.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Initializers » Initializers & Unwrappers","id":"205","title":"Initializers & Unwrappers"},"206":{"body":"Initializers provide a mechanism for a User-Defined Type to constrain the domain of possible values that a type may represent beyond what the raw data types imply on their own. To demonstrate the problem being addressed, take for example the type declaration below: Fig 1: # ex1-no-init.claro_module_api\nnewtype OddInt : int There's nothing about the type definition alone that actually imposes any sort of constraint that actually guarantees that the wrapped int is in fact odd. So a consumer could place a dep (Nums) on the Module and directly construct a completely invalid instance of the OddInt type: Fig 2: # BUILD\nload(\"//:rules.bzl\", \"claro_binary\", \"claro_module\") claro_module( name = \"ex1_no_initializer\", module_api_file = \"ex1-no-init.claro_module_api\", # `newtype OddInt : int`\n) claro_binary( name = \"bad_init_example\", srcs = \"ex1-bad-init.claro\", deps = { \"Nums\": \":ex1_no_initializer\", }\n) Fig 3: # ex1-bad-init.claro\nvar invalidOddInt = Nums::OddInt(8);\nprint(invalidOddInt); Output: OddInt(8) Of course, it'd be very much preferable for it to be impossible to ever construct an instance of a Type that violates its semantic invariants. You can enforce this in Claro by defining Initializers over the Type. Initializers are simply procedures that become the only procedures in the entire program that are allowed to directly use the Type's constructor . Therefore, if a Type declares an initializers block, the procedures declared within become the only way for anyone to receive an instance of the type. Fig 4: # ex1-with-init.claro_module_api\nnewtype OddInt : int atom NOT_ODD\ninitializers OddInt { function getOddInt(x: int) -> oneof>;\n} Fig 5: # BUILD\nload(\"//:rules.bzl\", \"claro_binary\", \"claro_module\") claro_module( name = \"ex1_with_initializer\", module_api_file = \"ex1-with-init.claro_module_api\",\n) claro_binary( name = \"rejected_init_example\", srcs = \"ex1-bad-init.claro\", # Same as before. We'll expect an error. deps = { \"Nums\": \":ex1_with_initializer\", # Now defines an Initializer. }\n) Now, the exact same attempt to construct an invalid instance of OddInt is statically rejected at compile-time - and even better, Claro's able to specifically recommend the fix, calling the Nums::getOddInt(...) function: Fig 6: # ex1-bad-init.claro\nvar invalidOddInt = Nums::OddInt(8);\nprint(invalidOddInt); Compilation Errors: initializers_and_unwrappers_EX6_example.claro:2: Illegal Use of User-Defined Type Constructor Outside of Initializers Block: An initializers block has been defined for the custom type `[module at //mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers:ex1_with_initializer]::OddInt`, so, in order to maintain any semantic constraints that the initializers are intended to impose on the type, you aren't allowed to use the type's default constructor directly. Instead, to get an instance of this type, consider calling one of the defined initializers: - Nums::getOddInt\nvar invalidOddInt = Nums::OddInt(8); ^^^^^^^^^^^^^^^\n1 Error Note: Claro's error messaging is a work in progress - the above error message will be improved. And now finally, you can use the initializer by simply calling it like any other procedure: Fig 7: # ex1-good-init.claro\nvar invalidOddInt = Nums::getOddInt(8);\nprint(invalidOddInt); var oddInt = Nums::getOddInt(7);\nprint(oddInt); Output: Error(NOT_ODD)\nOddInt(7) Now you know for a fact that anywhere where you initialize an instance of an OddInt in the entire program, it will certainly satisfy its semantic invariants. Warning : Still, keep in mind that if your type is mutable, declaring Initializers is not, on its own, sufficient to guarantee that any constraints or invariants are maintained over time. Keep reading to learn about how Unwrappers and Opaque Types can give you full control over this.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Initializers » Initializers","id":"206","title":"Initializers"},"207":{"body":"Initializers are a very useful concept, but on their own they don't allow full control over maintaining a mutable type's semantic invariants or constraints. For example, consider the following type definition: Fig 1: # person.claro_module_api\nnewtype Person : mut struct {name: string, age: int} atom InvalidAge\ninitializers Person { function getPerson(name: string, age: int) -> oneof>;\n} If we wanted to impose the semantic constraint on legal values for a Person's age, defining the initializer alone is only sufficient to ensure the constraint is enforced for the initial value. But it doesn't help maintain this after init as users could still freely unwrap and mutate the type directly: Fig 2: # Negative age can be rejected on init...\nvar invalidAge = Person::getPerson(\"Jason\", -1);\nprint(invalidAge); var p = Person::getPerson(\"Jason\", 29);\n# Prove that we didn't get a std::Error.\nif (p instanceof Person::Person) { print(p); # But we can violate the semantics of the type by unwrapping and mutating directly. unwrap(p).age = -1; print(p);\n} Output: Error(InvalidAge)\nPerson(mut {name = Jason, age = 29})\nPerson(mut {name = Jason, age = -1}) Fortunately, Claro provides a couple different ways to actually control semantic constraints/invariants like this. The first approach is to define Unwrappers. Analogous to Initializers that constrain the usage of a Type's default constructor, Unwrappers constrain the usage of the built-in unwrap(...) operation. For example, the above violation of the intended constraints on a Person's age can be enforced by adding an Unwrapper procedure that will handle all allowed updates: Fig 3: # person.claro_module_api\nnewtype Person : mut struct {name: string, age: int} atom InvalidAge\ninitializers Person { function getPerson(name: string, age: int) -> oneof>;\n}\nunwrappers Person { function setAge(p: Person, newAge: int) -> oneof>;\n} And now, the workaround that previously allowed violating the type's constraints has been patched. Attempts to directly mutate the value w/o going through approved procedures that handle updates will be rejected at compile-time: Fig 4: # Negative age can be rejected on init...\nvar invalidAge = Person::getPerson(\"Jason\", -1);\nprint(invalidAge); var p = Person::getPerson(\"Jason\", 29);\n# Prove that we didn't get a std::Error.\nif (p instanceof Person::Person) { print(p); # But we can violate the semantics of the type by unwrapping and mutating directly. unwrap(p).age = -1; print(p);\n} Compilation Errors: unwrappers_EX4_example.claro:11: Illegal Use of User-Defined Type Unwrapper Outside of Unwrappers Block: An unwrappers block has been defined for the custom type `[module at //mdbook_docs/src/module_system/module_apis/type_definitions/initializers_and_unwrappers/unwrappers:person_with_unwrappers]::Person`, so, in order to maintain any semantic constraints that the unwrappers are intended to impose on the type, you aren't allowed to use the type's default `unwrap()` function directly. Instead, to unwrap an instance of this type, consider calling one of the defined unwrappers: - Person::setAge unwrap(p).age = -1; ^^^^^^^^^\n1 Error Now, if you actually tried to update the age to something invalid using the official setAge(...) function, the update will be rejected: Fig 5: var p = Person::getPerson(\"Jason\", 29);\nif (p instanceof Person::Person) { print(p); # Now the update must be done via the provided `setAge(...)` function # which first validates the update, and in this case rejects. var updateRes = Person::setAge(p, -1); print(updateRes); print(p);\n} Output: Person(mut {name = Jason, age = 29})\nError(InvalidAge)\nPerson(mut {name = Jason, age = 29})","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Unwrappers » Unwrappers","id":"207","title":"Unwrappers"},"208":{"body":"It's worth noting that initializers and unwrappers blocks exist largely to be used independently . The above example is fairly contrived, and would likely be better defined as an \"Opaque Type\" . A good rule of thumb is that if you catch yourself thinking that you need to define both for the same Type, you should likely be defining the Type to be \"Opaque\" instead. In particular, initializers can be well-used in isolation for immutable Types where you would like to validate the values on init, but would like to maintain the ergonomics of allowing users to directly access the internals themselves (and as the data is immutable, there's no risk in allowing them to do so). For example, with the immutable type newtype GameLocation : struct {x: int, y: int} you may want to require that x and y are actually within the game's boundaries, but otherwise you want to allow users of the type to directly access x and y without having to write/use annoying \"getters\". On the other hand, unwrappers can be well-used in isolation for mutable values that can start with any value, but for which all subsequent changes must be constrained. For example, with newtype MonotonicallyIncreasingValue: mut struct {val: long} you may be happy to allow arbitrary starting values, but after that point you would want to ensure that any updates to its value are in fact increasing its value, perhaps by simply exposing an Unwrapper like consumer increment(count: MonotonicallyIncreasingValue);.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Unwrappers » Recommended Use of Unwrappers and Initializers","id":"208","title":"Recommended Use of Unwrappers and Initializers"},"209":{"body":"Programs of any significant size, particularly those developed among potentially large groups of developers, require a significant level of coordination to ensure the program evolves in a controlled manner throughout entire development lifecycle. Claro aspires to provide users with tools to that end. One particular technique that can aid this is hiding the internal representation of a data structure. There are various reasons why this may be desirable: Concern Example Undesirable Outcome Internal representation is subject to significant future change Many downstream usages of the Type's internal representation arise, making future changes to the Type's internal representation unbearably onerous Internal representation must restrict the legal domain of values Users directly manipulating the value can invalidate these necessary constraints and produce invalid data Internal representation is encoded in some way not explicitly described by the types themselves Complex data structures, such as a Heap, may be represented internally as a simple mut [int] but a downstream user mutating this structure is inherently bug-prone Internal representation contains Type's that give access to sensitive behaviors A database connection, for example, may have various open channels to the DB itself, but this doesn't mean it's safe to use this to manually send it arbitrary network reqs To address all of these, developers typically hide the internal representation of such sensitive Types so that any direct interaction with them must necessarily go through \"the front door\" of a certain published, verified API. Claro honors this as a first class capability, by allowing Types exported by a Module definition to be marked \"Opaque\": Fig 1: # ex1.claro_module_api\nopaque newtype Person Now, consumers of a Module with the above Type definition will not be exposed whatsoever to any internal details of its internal representation, which may initially look like: Fig 2: # ex1-impl.claro\nnewtype Person : struct { name: string, userID: int\n} but then, in the future, it could be updated to something like: Fig 3: # ex1-impl.claro\nnewtype Person : struct { name: string, userID: ID::UUID # UPDATED\n} and you'd have a guarantee that you wouldn't have to make any changes outside the defining Module itself because it was never possible for any downstream consumer to actually depend on the internal representation directly.","breadcrumbs":"Module System » Module APIs » Type & Alias Definitions » Opaque Types » Opaque Types","id":"209","title":"Opaque Types"},"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"},"210":{"body":"In addition to Type definitions and Procedure signatures, Modules are also able to export static (read: unchanging) values. This seemingly simple feature actually addresses the core value add of heavyweight \"Dependency Injection\" frameworks like Guice, Dagger, or Spring [1] while providing the static compile-time validation that you'd expect of a first-class programming language feature. The below Module API exports a struct containing a simple server config that's fixed (static) throughout the server's lifecycle: Fig 1: # ex1.claro_module_api # Throughout the server's lifetime this configuration won't change.\nstatic SERVER_CONFIG : ServerConfig; alias ServerConfig : struct { server_name: string, port: int, logging: struct { filename: string }, database: struct { host: string, port: int, database_name: string }\n} The value itself will be provided by implementing a provider static_() -> , for example, the following provider implementation reads and parses [2] the config values from a JSON resource [3] file: Fig 2: { \"server_name\": \"My Server\", \"port\": 8080, \"logging\": { \"filename\": \"server.log\" }, \"database\": { \"host\": \"localhost\", \"port\": 5432, \"database_name\": \"my_database\" }\n} Fig 3: # ex1-impl.claro\nprovider static_SERVER_CONFIG() -> ServerConfig { resources::ConfigJSON |> files::readOrPanic(^) |> var parsedConfig: std::ParsedJson = fromJson(^); var parsedResult = unwrap(parsedConfig).result; if (parsedResult instanceof ServerConfig) { # Config has correct format and was parsed successfully. return parsedResult; } # ... Invalid Config File Format Handling ...\n$$ # TODO(steving) In the future Claro should support an explicit `Panic(\"Reason\")`.\n$$ # TODO(steving) This server shouldn't even be allowed to actually startup.\n$$ return {\n$$ server_name = \"Fake Server\",\n$$ port = -1,\n$$ logging = {\n$$ filename = \"server.log\"\n$$ },\n$$ database = {\n$$ host = \"localhost\",\n$$ port = -1,\n$$ database_name = \"Fake Database\"\n$$ }\n$$ };\n} This syntax is very likely to change. Expressing this via a naming convention is\nextremely undesirable, so any suggestions for a more appropriate syntax are very welcome. And now, a downstream dependent of the Module exporting the SERVER_CONFIG static value can just directly use the value as it was initialized at program startup by the given provider. Fig 4: var config = Config::SERVER_CONFIG;\nprint(\"Server Name: {config.server_name}\");\nprint(\"Port: {config.port}\"); Output: Server Name: My Server\nPort: 8080","breadcrumbs":"Module System » Module APIs » Static Values » Static Values","id":"210","title":"Static Values"},"211":{"body":"The primary restriction placed on Static Values is that they must be deeply immutable to prevent static values from being used in such a way could lead to data races. Because Static Values can be directly referenced anywhere in your program, this means they can be referenced directly or transitively by Graph Procedures or by Lambdas directly scheduled to execute off the main thread using the StdLib's futures module . This must be prevented in order to keep with Claro's philosophy of making it impossible for two threads to share mutable state.","breadcrumbs":"Module System » Module APIs » Static Values » Static Values Must be Deeply Immutable","id":"211","title":"Static Values Must be Deeply Immutable"},"212":{"body":"In general, Static Values are initialized on program startup [4] before a single line of the \"main file\" (determined by claro_binary(name = ..., main_file = ..., deps = ...)) ever actually ran. To demonstrate this, let's add a print(...) statement to both the Static Value's provider, and to the main file that references it: Fig 5: # ex1-impl.claro\nprovider static_SERVER_CONFIG() -> ServerConfig { log(\"STATIC VALUE INITIALIZATION\"); # ...\n$$ resources::ConfigJSON\n$$ |> files::readOrPanic(^)\n$$ |> var parsedConfig: std::ParsedJson = fromJson(^); $$ var parsedResult = unwrap(parsedConfig).result;\n$$ if (parsedResult instanceof ServerConfig) {\n$$ # Config has correct format and was parsed successfully.\n$$ return parsedResult;\n$$ }\n$$ # ... Invalid Config File Format Handling ...\n$$ # TODO(steving) In the future Claro should support an explicit `Panic(\"Reason\")`.\n$$ # TODO(steving) This server shouldn't even be allowed to actually startup.\n$$ return {\n$$ server_name = \"Fake Server\",\n$$ port = -1,\n$$ logging = {\n$$ filename = \"server.log\"\n$$ },\n$$ database = {\n$$ host = \"localhost\",\n$$ port = -1,\n$$ database_name = \"Fake Database\"\n$$ }\n$$ };\n}\nconsumer log(msg: string) { print(\"LOG: {msg}\");\n} Fig 6: Config::log(\"START MAIN FILE\"); var config = Config::SERVER_CONFIG;\nprint(\"Server Name: {config.server_name}\");\nprint(\"Port: {config.port}\"); Output: LOG: STATIC VALUE INITIALIZATION\nLOG: START MAIN FILE\nServer Name: My Server\nPort: 8080","breadcrumbs":"Module System » Module APIs » Static Values » Initialization Order","id":"212","title":"Initialization Order"},"213":{"body":"It's possible, however, that it might not be desirable for this sort of static initialization to happen eagerly like this (for example if the value isn't guaranteed to even be used). So, Claro allows static values to optionally be declared lazy: Fig 7: $$# ex1.claro_module_api\n$$\n$$# Throughout the server's lifetime this configuration won't change.\nlazy static SERVER_CONFIG : ServerConfig;\n$$\n$$alias ServerConfig : struct {\n$$ server_name: string,\n$$ port: int,\n$$ logging: struct {\n$$ filename: string\n$$ },\n$$ database: struct {\n$$ host: string,\n$$ port: int,\n$$ database_name: string\n$$ }\n$$} which will effectively wrap every reference to the value in logic that will first check if the value still needs to be initialized and the initialization logic will be performed exactly once the very first time a read of the Lazy Static Value is actually executed at runtime: Fig 8: Config::log(\"START MAIN FILE\"); var config = Config::SERVER_CONFIG;\nprint(\"Server Name: {config.server_name}\");\nprint(\"Port: {config.port}\"); Output: LOG: START MAIN FILE\nLOG: STATIC VALUE INITIALIZATION\nServer Name: My Server\nPort: 8080 In the case of this example, lazy initialization could mean that the file read of the JSON config resource never actually needs to occur if it would never actually be read. This is a fairly insignificant performance optimization, but one that will be welcome to any developers that have become accustomed to this sort of capability being provided by more heavyweight dependency injection frameworks.","breadcrumbs":"Module System » Module APIs » Static Values » \"Lazy\" Static Values","id":"213","title":"\"Lazy\" Static Values"},"214":{"body":"Finally, it's worth explicitly noting that Static Value providers may depend on other Static Values, with the only restriction being that circular dependencies between Static Value providers are forbidden. In fact, Claro will reject them at compile time to ensure that you don't accidentally create an infinite loop during initialization. Claro doesn't support these DI frameworks' concept of \"scopes\" explicitly, but Claro's Static Values could be conceptually considered to be in the \"Singleton\" scope in any of the mentioned DI frameworks. Learn more about Claro's support for automatic JSON Parsing . Learn more about Claro's support for Resource Files in the StdLib's files module . To be very explicit, technically Static Values are instantiated the first time that the JVM's ClassLoader loads the generated Class representing the Module exporting the Static Value. Hence the calls to Config::log(...) to make the example more compelling.","breadcrumbs":"Module System » Module APIs » Static Values » Static Value Providers May Depend on Other Static Values","id":"214","title":"Static Value Providers May Depend on Other Static Values"},"215":{"body":"An incredibly common pattern in many software projects is parsing command line flags on startup to configure the behavior of a program. For example in backend web services the same service frequently gets reconfigured via flags to run in various different environments (e.g. test/dev/prod). However, in spite of the pattern's universality, most languages seem to ignore the fact and leave Flag parsing as an exercise for the user. This realistically leaves users either running off to download some 3rd-party library or writing some often poorly maintained boilerplate parsing code themselves. Claro aims to provide a lightweight Flag parsing mechanism as a first-class language feature so that you can skip most of the manual toil for such a simple need. Claro's Flags are a special case of Static Values that can be defined and exported by a Module API [1] : Fig 1: # ex1.claro_module_api # Set this flag on the command line.\nflag env: string; Then, just like any other Static Value, it can be referenced directly by anyone with a dependency on the defining Module as in the example below: Fig 2: load(\"//@claro-lang:rules.bzl\", \"claro_module\", \"claro_binary\") # This module is the one defining the `env` Flag.\nclaro_module( name = \"config\", module_api_file = \"ex1.claro_module_api\", # Notice no srcs are specified as Flags do not require a provider like other Static Values do.\n) claro_binary( name = \"demo\", main_file = \"ex1-test.claro\", deps = {\"Config\": \":config\"},\n) Fig 3: # ex1-test.claro\nConfig::env |> print(\"env: \\\"{^}\\\"\"); Output: env: \"\" Flags are different than general Static Values simply in the way their values are instantiated. Rather than implementing a provider that will be automatically run to instantiate the value, Flags are actually automatically parsed from the command line args passed to the program at runtime. In the example above, the Flag wasn't explicitly set when the program was run, so the value was defaulted to the empty string .","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Flags","id":"215","title":"Flags"},"216":{"body":"As there are multiple ways to run Claro programs during development, you'll need to know how to actually set Flag values using each approach.","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Setting a Flag Value on the Command Line","id":"216","title":"Setting a Flag Value on the Command Line"},"217":{"body":"Of course, as you've seen in the Getting Started Guide the easiest way to run a Claro program during development is using the bazel run ... command. But because Bazel itself accepts command line Flags, you'll need to explicitly indicate which command line args should be consumed by Bazel and which should be passed along to the Claro program. You'll do this by simply using a standalone --. Bazel consumes every arg to the left, and anything following gets passed along to the program you're trying to run. Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Passing Flags to Programs Executed via bazel run ...","id":"217","title":"Passing Flags to Programs Executed via bazel run ..."},"218":{"body":"Instead, you can build your program as an executable \"Deploy Jar\" and execute the Jar using the java command, passing command line Flags as you would to any other command: Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Passing Flags to Deploy Jar","id":"218","title":"Passing Flags to Deploy Jar"},"219":{"body":"Now, the power of Flags is often exposed when used to determine the initialization of Static Values. For example, expanding upon the simple env example above, we could export another Static Value, and determine its value based on whatever value was assigned to the env Flag on the command line. Fig 4: # Set this flag on the command line.\nflag env: string; static SUBJECT: string; Fig 5: provider static_SUBJECT() -> string { # `env` here is referring to the flag defined in this module's API. match (env) { case \"dev\" -> return \"DEVS\"; case \"prod\" -> return \"Users\"; # If the flag wasn't set, it will default to the empty string. case \"\" -> return \"is anyone out there?\"; case _ -> return env; }\n} And now, a test program could reference the Static Value, and the program's output will be dependent on the Flag value passed on the command line at runtime: Fig 6: # ex1-test2.claro\nConfig::SUBJECT |> print(\"Hello, {^}!\"); Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Deriving Static Values From Flags","id":"219","title":"Deriving Static Values From Flags"},"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"},"220":{"body":"Claro has to manually emit logic to parse command line args, and as such there's currently only support for parsing the following basic types that are most likely to be found in command line args: boolean string int [string] Claro will statically reject any Flags of unsupported types. For example, Claro won't automatically parse arbitrary structs from the command line. (Although it's likely that in the future Claro will standardize its string encoding of all types and provide some extended support for automatically decoding them from strings). Command line Flag parsing in most other languages can only be done by explicitly handling the command line args list in the program's \"main method\" (or equivalent). But in Claro, Flags can be arbitrarily defined by any Module in the entire program. The only thing to keep in mind is that the very nature of Flags being given on the command line means that their names must be globally unique. So, if you plan to include Flags in a Module that you're publishing for a wide audience, make sure that you use somehow try to ensure that your Flag names can at least be reasonably expected to be globally unique. One suggestion would be to prefix all Flag names with the published name of your Bazel module that's been pushed to the Bazel Central Registry .","breadcrumbs":"Module System » Module APIs » Static Values » Flags » Supported Flag Types","id":"220","title":"Supported Flag Types"},"221":{"body":"As Claro provides simple HTTP support out of the box, you can export HTTP Service definitions from Module APIs. For example, the following Buggy Buggies game [1] can be controlled by sending HTTP GET requests to the endpoints defined below: So, we can encode this api as an HTTP Service that can be called programmatically by Claro programs by exporting the following from a Module API: Fig 1: # ex1.claro_module_api # This encodes the public API of the Buggy-Buggies HTTP service.\n# Claro will generate a non-blocking RPC client for you via the following:\n# `var myClient: HttpClient = http::getHttpClient(\"https://buggy-buggies.gigalixirapp.com\");`\nHttpService BuggyBuggies { hostGame: \"/api/host/{handle}\", friendsJoin: \"/api/game/{gameId}/join/{handle}\", move: \"/api/game/{gameId}/player/{secret}/move/{direction}\", worldInfo: \"/api/game/{gameId}/player/{secret}/info\", reset: \"/api/game/{gameId}/player/{secret}/reset\"\n} # Now there's a single static definition of which client will be used for sending reqs to the Buggy Buggies server.\nstatic BUGGY_BUGGIES_CLIENT: HttpClient; In this case the static HTTP client being exported by this Module will allow messages to be sent to the local port that the Buggy Buggies game is running on: Fig 2: # ex1-impl.claro provider static_BUGGY_BUGGIES_CLIENT() -> HttpClient { # This client will send reqs to localhost but could use a public endpoint. return http::getHttpClient(\"http://localhost:4000\");\n} Now, a dependent can easily make calls to the various HTTP endpoints exposed by the service and from the dependent's perspective it appears just like any other procedure call returning a future<...>. Fig 3: var hostGameRes: oneof> <-| BuggyBuggies::hostGame(BuggyBuggies::BUGGY_BUGGIES_CLIENT, \"jason\"); print(\"Host Game Response:\\n{hostGameRes}\"); Output: Host Game JSON Response:\n{\"reason\":null,\"success\":true,\"result\":{\"watch\":\"http://localhost:4000/game/04cfad01\",\"secret\":\"7f3b8ae5\",\"game_id\":\"04cfad01\",\"example\":\"curl -X GET http://localhost:4000/api/game/04cfad01/player/7f3b8ae5/move/N\"}} Now, you can imagine how a more complex Claro program could use the HTTP client to this service to make a bot that automatically plays the game collecting as much gold as possible. Buggy Buggies Demo Check out the full-fledged implementation of the Claro program controlling the buggy in the above gif. Buggy Buggies was built by Jake Wood , thank you for sharing this!","breadcrumbs":"Module System » Module APIs » HTTP Services » HTTP Services","id":"221","title":"HTTP Services"},"222":{"body":"Claro's deep integration with Bazel allows it to isolate all dependency-related concerns to the Build system rather than cluttering the core language itself with such concerns. Claro's leveraging of Bazel's builtin visibility enforcement features is a powerful example of this. Whereas most programming languages tend to only expose very coarse-grained visibility controls (e.g. public/private), Bazel provides Claro programs with access to a wide range of extremely fine-grained visibility controls. You can read more in detail about Visibility in Bazel's docs, or you can get the important overview below. If you're using GitHub to host your codebase, Bazel's Visibility enforcement becomes even more powerful when used in combination with CODEOWNERS which gives you a mechanism to ensure that Visibility declarations are actually enforceable and can't simply be changed by someone without first taking into account why the visibility was constrained to a certain level in the first place.","breadcrumbs":"Module System » Visibility » Visibility","id":"222","title":"Visibility"},"223":{"body":"All targets are \"private\" by default. So, if you don't want to allow any other targets defined outside the current BUILD file to take a dependency on a given target, you can simply omit a visibility = ... declaration: Fig 1: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Visibility defaults to \"private\". # Alternatively you could explicitly declare the target \"private\" using: # visibility = [\"//visibility:private\"],\n) Note : All targets defined in the same BUILD file are implicitly Visible to each other - meaning that they can place a dependency on one another freely no matter what visiblity = ... declaration is listed in each target's declaration.","breadcrumbs":"Module System » Visibility » Private Visibility","id":"223","title":"Private Visibility"},"224":{"body":"In many cases, you'll be designing Modules to only be consumed by a very specific set of dependents. In this case, you can explicitly name the specific targets that should be allowed to place a dependency on your target: Fig 2: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Now, visibility is granted to the specifically mentioned target. visibility = [\"//some/other/specific:target\"],\n) This is by far the recommended approach. All other more permissive Visibility declarations detailed below should be approached with caution.","breadcrumbs":"Module System » Visibility » Target Visibility","id":"224","title":"Target Visibility"},"225":{"body":"Depending on how your codebase gets organized, you'll likely run into the situation where a certain Module can be generally useful for many Modules in a package. Rather than needing to list each target individually, you can whitelist the entire package to have Visibility on a certain module. Fig 3: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Now, visibility is granted to every target in the `//some/other` directory (package). visibility = [\"//some/other:__pkg__\"],\n)","breadcrumbs":"Module System » Visibility » Package Visibility","id":"225","title":"Package Visibility"},"226":{"body":"Somewhat more rarely, you may also end up with a codebase where a particular Module is useful for many Modules in both a package and all subpackages beneath it. Rather than needing to explicitly list each package, you can make the target Visible to all other targets at or \"below\" a certain package. This should be used sparingly when you have confidence that the design constraints of your codebase will be maintained\nover time. Remember that the proliferation of many dependencies on a particular Module put that Module at risk at\nbecoming extremely difficult to change in the future. Fig 4: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Now, visibility is granted to every target at or below the `//some/other` directory (package). visibility = [\"//some/other:__subpackages__\"],\n)","breadcrumbs":"Module System » Visibility » Subpackages Visibility","id":"226","title":"Subpackages Visibility"},"227":{"body":"While it's possible to make a certain target visible to every other target in the entire project, this is discouraged . You will find that public Visibility can lead to a proliferation of dependencies that can sometimes make the long-term maintenance of the overall project that much more difficult. The more dependencies that a particular Module has, the more difficult it gets to make any changes to that Module's public API. Feel free to use this feature, but please do it consciously, don't just get in a habit of doing this by default for convenience. Fig 5: $$load(\"//@claro-lang:rules.bzl\", \"claro_module\")\n$$\nclaro_module( name = \"example\", # ...\n$$ module_api_file = \"example.claro_module_api\",\n$$ srcs = [\"example.claro\"], # Now, visibility is granted to every target globally. visibility = [\"//visibility:public\"],\n)","breadcrumbs":"Module System » Visibility » Public Visibility (Discouraged)","id":"227","title":"Public Visibility (Discouraged)"},"228":{"body":"Claro's Module system was very carefully designed to guarantee that it's statically impossible for two separate modules to be \"tightly coupled\" . In this section we'll dive into exactly what that means. As you've already seen in previous sections, Claro Modules explicitly declare a public API that indicates the full set of procedures/values/Types that the Module's consumers will gain access to. Of course, some form of this is present in every language. The unique distinction is that Claro Module dependencies can be directly swapped out to any other Module with an appropriate API without changing a single line of code in any .claro source files . For example, the below API... Fig 1: # get_message.claro_module_api\nprovider getMessage() -> string; ...could be implemented by multiple Modules... Fig 2: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_binary\", \"claro_module\") claro_module( name = \"hello_world\", module_api_file = \"get_message.claro_module_api\", srcs = [\"hello_world.claro\"],\n)\nclaro_module( name = \"look_ma\", module_api_file = \"get_message.claro_module_api\", srcs = [\"look_ma.claro\"],\n)\n# ... ...and then the exact same .claro source code ... Fig 3: # example.claro\nprint(Msg::getMessage()); ...could be compiled against either Module... Fig 4: # BUILD\nclaro_binary( name = \"test\", main_file = \"example.claro\", deps = { \"Msg\": \":hello_world\", }\n) Fig 5: Hello, World! ...and the behavior would depend on which dependency was chosen... Fig 6: # BUILD\nclaro_binary( name = \"test\", main_file = \"example.claro\", deps = { \"Msg\": \":look_ma\", # Swapped for `:hello_world`. }\n) Fig 7: ----------------------\n| Look ma, no hands! |\n----------------------","breadcrumbs":"Module System » Swapping Dependencies » Swapping Dependencies","id":"228","title":"Swapping Dependencies"},"229":{"body":"The other subtle point that's likely easy to miss if it's not pointed out explicitly is that the validity of a Module dependency is completely dependent upon the usage of the dependency. In less opaque terms, this just means that a Module dependency is valid if the Module's API actually exports everything that is used by the consuming code. The consuming code doesn't make any constraints on anything other than what it actually uses . So, a dependency can be swapped for another that actually exports a completely different API, so long as it at least exports everything that the consuming code actually used from the original Module's API. For example, if a third Module actually implemented a totally different API such as: Fig 8: # extra_exports.claro_module_api\nprovider getMessage() -> string; provider getMessageFromDB() -> future; opaque newtype SecretMessage static SOME_OTHER_MESSAGE : SecretMessage; the dependency would still be valid because example.claro only actually uses the getMessage(...) procedure that is exported by both :look_ma and :hello_world. This single design decision actually enables a huge amount of Build time configurability options. If you'd like to see more about how you can take advantage of this, read about how you can swap dependencies programmatically using Build flags . And if you're interested in becoming a power-user, this feature can be leveraged in some very powerful ways via Build Time Metaprogramming .","breadcrumbs":"Module System » Swapping Dependencies » Dep Validity is Based on Usage","id":"229","title":"Dep Validity is Based on Usage"},"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"},"230":{"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":"230","title":"Concurrency"},"231":{"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":"231","title":"Graph Procedures"},"232":{"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":"232","title":"Graph Procedure Composition"},"233":{"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":"233","title":"Calling Graph Procedures"},"234":{"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":"234","title":"Graphs Execute off the \"Main\" Thread"},"235":{"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":"235","title":"(Advanced) Conditional Subgraph Execution"},"236":{"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 provides an easy-to-use abstraction to statically guarantee that programs are: Non-blocking Data-race free Deadlock free Optimally scheduled Scalable by default The following sections will introduce you to the language features that enable Claro's safe concurrency guarantees.","breadcrumbs":"Fearless Concurrency » Fearless Concurrency","id":"236","title":"Fearless Concurrency"},"237":{"body":"One of Claro's most powerful advantages is that it is able to statically analyze your concurrent code to ensure that it is impossible to run into a data-race at runtime. A data race occurs when two or more threads in a single process access the same memory location concurrently, and at least one of the accesses is for writing, and the threads are not using any exclusive locks to control their accesses to that memory. While there are situations where a race condition may be desirable, they are accidental bugs far more often than not . So, Claro has been carefully designed to statically prevent you from writing any program with such a data race. There are a few primary mechanisms in the language that, together, ensure that data races are impossible to encode. At their core, these restrictions boil down to preventing any two threads from sharing references to the same mutable data.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Guaranteed Data-Race-Free Concurrency","id":"237","title":"Guaranteed Data-Race-Free Concurrency"},"238":{"body":"Claro requires the use of immutable data when passing data between threads. By enforcing this constraint globally, Claro programs in turn receive a static guarantee that all non-Graph procedure interactions with mutable data are happening over mutable data that is local to the current thread only and therefore doesn't require any synchronization whatsoever. So, while you'll read about restrictions on Graph Procedures below, keep in mind that the internal implementations of any given node (e.g. the implementation of a procedure called by a node) may create whatever mutable data it wants, and mutate it freely, including by passing the data around to other procedures that do the mutation.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Thread-Local Data Can be Mutated at Will","id":"238","title":"Thread-Local Data Can be Mutated at Will"},"239":{"body":"Claro's Graph Procedures are an inherently concurrent control flow structure, with nodes executing concurrently by definition. Importantly, Graphs are executed on multiple threads using a threadpool, and Claro takes responsibility for this execution being thread safe. As nodes may be executing simultaneously, it would be fundamentally unsafe for any two nodes to share a reference to the same mutable data as nothing would prevent one of the threads from mutating the data while another thread is reading from it. Claro's approach to addressing this is to track mutability in the type system, and to make use of that information to ensure that no two threads ever share mutable state by statically requiring that all Graph procedure arguments and node outputs are deeply immutable. Fig 1: graph function someGraph(mutArg: mut [int]) -> future { root res <- computeRes(@nodeB, @nodeC); node nodeB <- doNodeBThing(mutArg); node nodeC <- doNodeCThing(mutArg);\n} Compilation Errors: guaranteed_data_race_free_EX1_example.claro:1: Illegal Mutable Graph Procedure Arg: As Graph Procedures are multi-threaded by nature, all args must be deeply-immutable in order to guarantee that Graph Procedures are data-race free by construction. Found the mutable type: mut [int] To correct this, consider converting the arg's type to its deeply-immutable variant: [int]\ngraph function someGraph(mutArg: mut [int]) -> future { ^^^^^^\nguaranteed_data_race_free_EX1_example.claro:3: Invalid type: Found: mut [int] Expected: int node nodeB <- doNodeBThing(mutArg); ^^^^^^\nguaranteed_data_race_free_EX1_example.claro:4: Invalid type: Found: mut [int] Expected: int node nodeC <- doNodeCThing(mutArg); ^^^^^^\n3 Errors graph TD nodeB --> res nodeC --> res Here, Claro has correctly identified that nodeB and nodeC would be susceptible to creating a data race, and so a compilation error is raised. Additionally, even if there were only a single graph node actually using mutArg, it would still be fundamentally unsafe. Remember that every single node in a graph runs on the Graph Executor, which is backed by a threadpool meaning that passing any arguments to a graph procedure is inherently an act that hands data to another thread. Claro's philosophy of thread safety is to statically prevent sharing mutable state across threads, so this will not be allowed.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » All Graph Procedure Args Must be Deeply-Immutable","id":"239","title":"All Graph Procedure Args Must be Deeply-Immutable"},"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\")"},"240":{"body":"You'll also be prevented from introducing a data race by having a graph node pass mutable data to other downstream nodes: Fig 2: graph provider someGraph() -> future { root res <- computeRes(@nodeB, @nodeC); node nodeB <- doNodeBThing(@nodeA); node nodeC <- doNodeCThing(@nodeA); node nodeA <- getMutableThing();\n} Compilation Errors: guaranteed_data_race_free_EX2_example.claro:5: Illegal Mutable Graph Node Result: As Graph Procedures are multi-threaded by nature, all node expression types must be deeply-immutable in order to guarantee that Graph Procedures are data-race free by construction. Found the result of node `nodeA` to have the mutable type: mut [int] To correct this, consider converting to its deeply-immutable variant: [int] node nodeA <- getMutableThing(); ^^^^^^^^^^^^^^^^^\n1 Error graph TD nodeA --> nodeB nodeA --> nodeC nodeB --> res nodeC --> res Again, Claro has correctly identified that nodeB and nodeC would be susceptible to creating a data race, and so a compilation error is raised.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » All Graph Procedure Node Outputs Must be Deeply-Immutable","id":"240","title":"All Graph Procedure Node Outputs Must be Deeply-Immutable"},"241":{"body":"The final restriction that enables \"Fearless Concurrency\" in Claro programs is the constraint restricting Lambdas from \"closing over\"/capturing any mutable value. If Lambdas could capture mutable state data, then passing a Lambda into a Graph could (very indirectly) circumvent Claro's above restriction on sharing references to mutable data across multiple threads. Read more in-depth about this restriction in the \"Lambdas are Restricted Closures\" section.","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Lambdas Cannot Capture Mutable Data","id":"241","title":"Lambdas Cannot Capture Mutable Data"},"242":{"body":"Claro aims to be a very pragmatic language, and so chooses not to complicate its type system with something like Rust's (notoriously complex) borrow checker to prevent shared ownership of unsynchronized, mutable data. Instead, Claro opts to take an approach of statically forbidding the arbitrary sharing of mutable state between threads, but then returning the ability to do mutation via a curated set of \"blessed\" mutable data structures that have been manually validated to be Thread Safe in all contexts. For example, take the case of a multithreaded web server where it's very common to employ a request cache to improve throughput by reusing responses from downstream services for some period of time. This request cache is an inherently mutable structure (it needs to be updated when a new request needs to be cached, or when reloading an existing cache entry upon expiration). A mutable request cache is obviously of utmost importance for Claro's practical usefulness as a language for writing real world web services, so the stdlib exposes Ben Manes' famously high-performance, thread safe Caffeine caching library as the StdLib's cache module .","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Thread Safe Mutable Data Structures \"Blessed\" By the StdLib","id":"242","title":"Thread Safe Mutable Data Structures \"Blessed\" By the StdLib"},"243":{"body":"Claro accomplishes this using \"Opaque\" Types and a compiler intrinsic (trick) to effectively lie about the type's mutability to avoid the restrictions on types marked mut. In particular, this type is exported from the cache.claro_module_api file as follows: Fig 3: # Note the lack of a `mut` annotation.\nopaque newtype Cache And is internally defined as wrapping the Java AsyncLoadingCache type from the Caffeine caching library: Fig 4: # This `$java_type` feature is only accessible to the StdLib.\nnewtype Cache: $java_type(\"com.github.benmanes.caffeine.cache.AsyncLoadingCache<%s, %s>\") Thanks to being defined as an Opaque Type, it's safe for this type to be passed anywhere, even shared between threads, as users' only mechanism to interact with values of this type is via the \"front door\" of the procedures exported from cache.claro_module_api which define a Thread Safe API. It's not possible for user code to actually make this same \"lie\" about a type's mutability. This feature is explicitly restricted to the internal StdLib modules to ensure that Claro's \"Fearless Concurrency\" guarantees aren't broken by users either publishing buggy or intentionally malicious modules. At the moment (and into the foreseeable future), Claro places a much higher value on being able to make safety guarantees across the entire language ecosystem than on any individual's ability to define their own custom mutable data structures that can be shared across threads. There are currently no plans to ever allow any mutable, user-defined type defined outside the StdLib to be shared across threads. Instead, Claro intends to actively welcome external contributions of high value, general purpose, demonstrably Thread Safe, mutable data structures to be made available via the StdLib .","breadcrumbs":"Fearless Concurrency » Guaranteed Data-Race-Free Concurrency » Important : This is Restricted to the StdLib","id":"243","title":"Important : This is Restricted to the StdLib"},"244":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » Guaranteed Deadlock-Free Concurrency","id":"244","title":"Guaranteed Deadlock-Free Concurrency"},"245":{"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 blocking 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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » Blocking Procedures » Blocking Procedures","id":"245","title":"Blocking Procedures"},"246":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » Blocking Procedures » Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)","id":"246","title":"Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)"},"247":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » Re: \"What Color is Your Function?\"","id":"247","title":"Re: \"What Color is Your Function?\""},"248":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » (Advanced) Blocking Generics » (Advanced) Blocking Generics","id":"248","title":"(Advanced) Blocking Generics"},"249":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » (Advanced) Blocking Generics » Note on the blocking:argName and blocking? Syntax","id":"249","title":"Note on the blocking:argName and blocking? Syntax"},"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(...)"},"250":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » (Advanced) Blocking Generics » Lambdas Cannot Use Any Form of Generics","id":"250","title":"Lambdas Cannot Use Any Form of Generics"},"251":{"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":"Fearless Concurrency » Guaranteed Deadlock-Free Concurrency » (Advanced) Blocking Generics » First-Class References to Blocking-Generic Top-Level Procedures","id":"251","title":"First-Class References to Blocking-Generic Top-Level Procedures"},"252":{"body":"Claro has been carefully designed to be uniquely well-suited for building highly efficient, scalable web servers. Claro's \"Fearless Concurrency\" guarantees are explicitly an effort to make it significantly challenging to make a buggy, slow web server - and instead, Claro's novel concurrency model will lead to performant and easy-to-maintain web servers naturally falling out of even naive usages of the language. To actually demonstrate this explicitly, Claro provides very basic support for building HTTP servers that can be used in the absence of any sort of 3rd party framework to jump you right into your first web server in Claro. This feature is largely intended as a demonstration of Claro's current capabilities, and to point towards Claro's future direction. This is by no means a complete web server framework. Following this guide will lead you through the steps to setting up your very first web server in Claro.","breadcrumbs":"Basic HTTP Servers » Basic HTTP Servers","id":"252","title":"Basic HTTP Servers"},"253":{"body":"First, you'll need to define the endpoints that your HTTP service will handle. To do this, you'll use Claro's built-in HttpService definition syntax, e.g.: Fig 1: HttpService Greeter { genericGreeting: \"/genericGreeting\", greeting: \"/greeting/{name}\"\n} The above defines a very simple service with two basic endpoints.","breadcrumbs":"Basic HTTP Servers » HTTP Service Definition","id":"253","title":"HTTP Service Definition"},"254":{"body":"Claro will automatically generate a pre-configured, non-blocking web server implementation for your HttpService definition by using the builtin magic function http::getBasicHttpServerForPort(). This function is implemented as a compiler intrinsic that will infer the server to automatically generate based on the type asserted on the call. So, we can get Claro to generate a web server for the example Greeter service as in the example below. Note that no Endpoint Handlers have been implemented yet so we should actually expect the below to fail to compile and\nprompt us to implement them! Doing things in this order allows us to allow Claro to prompt us with the signatures that\nwe need to implement, which is just a convenience. Fig 2: HttpService Greeter { genericGreeting: \"/genericGreeting\", greeting: \"/greeting/{name}\"\n} # endpoint_handlers Greeter { } var greeterServer: HttpServer = http::getBasicHttpServerForPort(8080);\n_ = greeterServer; # Not starting the server yet. Compilation Errors: http_servers_EX2_example.claro:8: Invalid HttpServer Generation Requested for HttpService Missing Endpoint Handlers Definition: In order to automatically generate an HttpServer for the given HttpService an `endpoint_handlers` block such as the following must be defined: endpoint_handlers Greeter { graph provider genericGreeting() -> future { ... } graph function greeting(pathArg0: string) -> future { ... } }\nvar greeterServer: HttpServer = http::getBasicHttpServerForPort(8080); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n1 Error","breadcrumbs":"Basic HTTP Servers » Auto-Generated HttpServer","id":"254","title":"Auto-Generated HttpServer"},"255":{"body":"A service definition on its own doesn't actually provide much utility without endpoint handlers implemented to actually serve up the responses to incoming requests. As we see from the compilation error above, we must define endpoint handlers for the above HttpService by defining an endpoint_handlers block with a Graph Procedure implementation corresponding to each endpoint in the HttpService definition. Note that in the HTTP service definition above, the greeting endpoint includes {name} in the route - this is a \"path parameter\" that will automatically be parsed from incoming requests and passed along as input to the associated endpoint handler. So, note that the signature of the greeting endpoint handler includes a string arg that will represent the value of the {name} path parameter for each request to that endpoint. Fig 3: HttpService Greeter { genericGreeting: \"/genericGreeting\", greeting: \"/greeting/{name}\"\n} endpoint_handlers Greeter { graph provider genericGreeting() -> future { root httpRes <- http::getOk200HttpResponseForJson(@json); node json <- EndpointHandlerImpls::GENERIC_GREETING; } graph function greeting(name: string) -> future { root httpRes <- http::getOk200HttpResponseForJson(@json); node json <- EndpointHandlerImpls::getGreetingForName(name); }\n} var greeterServer: HttpServer = http::getBasicHttpServerForPort(8080);\n_ = greeterServer; # Not starting the server yet. As you can see, the core implementation logic was factored out into another Module EndpointHandlerImpls. These impls can do anything, including making arbitrary downstream network requests, as long as they are non-blocking. In this case, they'll simply return some simple greeting. Note: the requirement that each endpoint handler implementation be a Graph Procedure is to ensure that the resulting\nweb service is statically guaranteed to be non-blocking and to ensure that each request is handled off the\nrequest thread so that long-running computations don't interfere with the service's ability to receive and schedule incoming requests. This ties together all of Claro's design decisions to make building fundamentally concurrent web\nservices a trivial task.","breadcrumbs":"Basic HTTP Servers » Implementing Endpoint Handlers","id":"255","title":"Implementing Endpoint Handlers"},"256":{"body":"That's it! Now we can actually start the Greeter server that we just implemented. This is as simple as calling the builtin http::startServerAndAwaitShutdown() consumer. This call effectively drops into an infinite loop, so depending on how you start it, when you're done and want to bring the service down, you'll have to send a termination signal to the server process e.g. using ctrl-C. Fig 4: $$HttpService Greeter {\n$$ genericGreeting: \"/genericGreeting\",\n$$ greeting: \"/greeting/{name}\"\n$$}\n$$\n$$endpoint_handlers Greeter {\n$$ graph provider genericGreeting() -> future {\n$$ root httpRes <- http::getOk200HttpResponseForJson(@json);\n$$ node json <- EndpointHandlerImpls::GENERIC_GREETING;\n$$ }\n$$ graph function greeting(name: string) -> future {\n$$ root httpRes <- http::getOk200HttpResponseForJson(@json);\n$$ node json <- EndpointHandlerImpls::getGreetingForName(name);\n$$ }\n$$}\n$$\n$$var greeterServer: HttpServer = http::getBasicHttpServerForPort(8080);\n$$_ = greeterServer; # Not starting the server yet.\n# Finally start the service\nhttp::startServerAndAwaitShutdown(greeterServer); The below recording is a demonstration this server in action. It first starts up the server (launching the process in the background), and then sends a couple requests to each endpoint using curl to demonstrate the server in action, and then finally kills the server. Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Basic HTTP Servers » Starting an HttpServer","id":"256","title":"Starting an HttpServer"},"257":{"body":"Claro strives to make development easier in many ways, and as being able to write programs that interact with the network is an important goal, Claro has some initial support for automatically generating efficient JSON parsers for relatively arbitrary formats. If you know the schema of the JSON data that you'll be interacting with, and can describe it as some Claro struct, then in general you can automatically parse JSON data from a string directly into the Claro type. Claro's JSON parsing is implemented by generating a custom parser for the target data format at compile time . So, in addition to ergonomic improvements, this approach offers potential performance benefits over a general-purpose JSON parser. For example, the following JSON string could be included in a Resource File : Fig 1: { \"server_name\": \"My Server\", \"port\": 8080, \"logging\": { \"filename\": \"server.log\" }, \"database\": { \"host\": \"localhost\", \"port\": 5432, \"database_name\": \"my_database\" }\n} We can represent that JSON format as the following Claro data structure: Fig 2: alias ServerConfig : struct { server_name: string, port: int, logging: struct { filename: string }, database: struct { host: string, port: int, database_name: string }\n} And now, the JSON string can be parsed by a simple call to the fromJson(...) builtin function: Fig 3: resources::ServerConfigJSON |> files::readOrPanic(^) |> var parsedConfig: std::ParsedJson = fromJson(^); var parsedResult = unwrap(parsedConfig).result;\nif (parsedResult instanceof ServerConfig) { print(\"Config has correct format and was parsed successfully!\"); print(strings::repeated(\"-\", 50)); print(\"Server Name: {parsedResult.server_name}\"); print(\"Port: {parsedResult.port}\");\n} else { print(\"JSON parsing failed!\"); print(parsedResult);\n} Output: Config has correct format and was parsed successfully!\n--------------------------------------------------\nServer Name: My Server\nPort: 8080","breadcrumbs":"JSON Parsing » JSON Parsing","id":"257","title":"JSON Parsing"},"258":{"body":"To be clear, Claro's JSON parsing support is currently fairly constrained and doesn't yet support the full range of possible JSON formats. You'll be warned at compile-time if the format you're attempting to auto-parse is supported or not. More work will be needed to complete the implementation. If you're interested in contributing to this please reach out!","breadcrumbs":"JSON Parsing » Limitations","id":"258","title":"Limitations"},"259":{"body":"Claro takes the stance that relatively sophisticated Build-time logic can be a great enabler of significant flexibility. In particular, even very simple Build-time code generation can be used to achieve extremely convenient code reuse without forcing the core Claro programming language itself to become more and more complex over time to directly represent more and more complex design patterns. This section seeks to demonstrate how Bazel's configuration language (that you'll already be using to declare claro_module(...) and claro_binary(...) targets in BUILD files) can be used to write logic that will programmatically determine at Build-time the program structure that will be converted to an executable at Compile-time.","breadcrumbs":"Build Time Metaprogramming » Build Time Metaprogramming","id":"259","title":"Build Time Metaprogramming"},"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"},"260":{"body":"The first distinction to make here is a subtle difference between \"Build\" and \"Compile\" time in the Claro ecosystem. All statically compiled languages have a \"Compile\" phase where the final program's source code is evaluated by the language's compiler and eventually converted into an actual executable, and this is no different in Claro. The unique aspect of Claro is that it's been intentionally designed with a tight integration with its Build system Bazel in mind, and so your program's source files are first processed by Bazel, potentially executing arbitrary Build-time logic of your choosing before any source code is ever passed to the Claro compiler itself . As we'll go into more detail on in this section, Bazel enables you to write all sorts of arbitrary file-manipulations or script executions during this Build phase. This enables you to do any manner of source code transformations or even code generation from statically validated sources of truth. And, thanks to Bazel's correctness guarantees, you're able to string together arbitrary graphs of Build logic that will be reliably reproduced on each Build (with each step benefiting from Bazel's caching support for incremental Builds). Only after all Build steps have completed successfully does the Build phase end and the Compile phase begin with the final dependency graph of claro_binary(...) and claro_module(...) targets evaluated by the Claro compiler. Continue on to the next sections where we'll go into more details to demonstrate some ways you can leverage Build-time metaprogramming to gain more dynamic control over the Claro programs you create.","breadcrumbs":"Build Time Metaprogramming » Build vs Compile Phases","id":"260","title":"Build vs Compile Phases"},"261":{"body":"The first, extremely simple Build-time Metaprogramming example that we'll look at is one way to create and use source code templates at Build time. As a contrived example, imagine that you're writing an HTTP Service's homepage Endpoint Handler where you want to just serve some hardcoded static HTML representing our site's trivial homepage. Of course, you may decide to just directly write out the HTML string inline, but it would probably be more useful to create a separate homepage.html file so that you can get IDE support for your HTML. You could of course depend on homepage.html as a Resource file to read at runtime, but we could also opt to directly embed the file's HTML contents into the source code at Build time so that we don't have to spend any time reading the file while the program is running. To do this, we could make our source file a template with a format string {{HOMEPAGE_HTML}} to be replaced: Fig 1: # ex1.claro.tmpl\nprovider homepageHtml() -> string { return \"{{HOMEPAGE_HTML}}\";\n}","breadcrumbs":"Build Time Metaprogramming » Source Code Templates » Source Code Templates","id":"261","title":"Source Code Templates"},"262":{"body":"Bazel provides ample tooling for you to write this functionality entirely from scratch, but to make it easier to get up and running, Claro provides an expand_template(...) Bazel macro out of the box. The BUILD file below expands the template by converting the given homepage.html file to a single line with all \" escaped and inserting it into the ex1.claro.tmpl: Fig 2: # BUILD\nload(\"@claro-lang//stdlib/utils/expand_template:expand_template.bzl\", \"expand_template\") expand_template( name = \"ex1\", template = \"ex1.claro.tmpl\", out = \"ex1.claro\", substitutions = { # Replace {{HOMEPAGE_HTML}} with the contents of the html file generated below. \"HOMEPAGE_HTML\": \"homepage_single_line.html\", },\n) # Learn more about genrule at: https://bazel.build/reference/be/general#genrule\ngenrule( name = \"homepage_single_line\", srcs = [\"homepage.html\"], outs = [\"homepage_single_line.html\"], # Bash script to remove all newlines and escape double-quotes. cmd = \"cat $(SRCS) | tr '\\\\n' ' ' | sed 's/\\\"/\\\\\\\\\\\"/g' > $(OUTS)\",\n) And now you end up with a valid Claro source file: Fig 3: # ex1.claro\nprovider homepageHtml() -> string { return \" My Website

    Welcome to my website!

    This is a very basic homepage.

    \";\n}","breadcrumbs":"Build Time Metaprogramming » Source Code Templates » expand_template(...) Macro","id":"262","title":"expand_template(...) Macro"},"263":{"body":"Bazel's support for this Build time execution is an extremely powerful tool that can be used for all sorts of things where you'd like to derive some files (program source code or otherwise) from some other file(s) representing canonical source(s) of truth. In fact, this docs site was dynamically generated at Build time by first executing each and every sample Claro code snippet and templating the snippet's output into the markdown file that eventually gets converted to HTML. To make this example more explicit, this site's Hello, World! page was generated from literally the below template: Fig 4: # Hello, World! {{EX1}} As you can already see from the most minimal program possible, Claro programs eliminate unnecessary boilerplate. Every\nClaro program is simply a sequence of statements that are executed from top-to-bottom as if it were a \"script\". You\ndon't need to specify a \"main\" method\" as in other languages like Java, instead, much like Python, you simply specify a\nstarting file which will execute top-down at program start. And the corresponding BUILD file contains the following doc_with_validated_examples(...) declaration which is built on top of the expand_template(...) macro described above: Fig 5: # BUILD\nload(\"//mdbook_docs:docs_with_validated_examples.bzl\", \"doc_with_validated_examples\") doc_with_validated_examples( name = \"hello_world\", doc_template = \"hello_world.tmpl.md\", examples = [\"hello_world.claro\"],\n) Which generates this final output markdown: Fig 6: # Hello, World! #### _Fig 1:_\n---\n```claro\nprint(\"Hello, world!\");\n```\n_Output:_\n```\nHello, world!\n```\n--- As you can already see from the most minimal program possible, Claro programs eliminate unnecessary boilerplate. Every\nClaro program is simply a sequence of statements that are executed from top-to-bottom as if it were a \"script\". You\ndon't need to specify a \"main\" method\" as in other languages like Java, instead, much like Python, you simply specify a\nstarting file which will execute top-down at program start. This is a powerful example of Build-time Metaprogramming being put to good use. This approach is not just convenient, but provides some legitimate guarantees that wherever this approach was used, if the site deploys, then the sample code on the site is guaranteed to actually be valid because otherwise Bazel would have failed the build! You can imagine how useful this is for an actively in-development language where things are subject to potentially change at any time. Feel free to dig into the source code of Claro's docs site here if you want to get more into the weeds on this example.","breadcrumbs":"Build Time Metaprogramming » Source Code Templates » (Aside) Claro's Entire Docs Site is Generated at Build Time Using This Templating Approach!","id":"263","title":"(Aside) Claro's Entire Docs Site is Generated at Build Time Using This Templating Approach!"},"264":{"body":"Claro enables you to literally reuse source code throughout your program rather than offering a list of complex type system features that indirectly enable code reuse like other languages do (e.g. via inheritance in OO languages, or liberal use of higher order functions in FP languages). It will take a bit of conceptual groundwork (unlearning long-held assumptions) to understand Claro's approach here, but in exchange, you'll be given some powerful new ways to think about \" what \" a Claro program is. Rather than trying to impose specific code organization design patterns on you (e.g. Java trying to force use of inheritance) Claro instead aims to be flexible enough to allow you full control of using and encoding your own organizational design patterns (potentially including inheritance if you felt so inclined). Probably the most fundamental idea that you'll need to internalize to fully understand Claro's larger design in a deep way is the relationship that a file containing Claro source code actually has with the final resulting program. This is a subtle point. It's very possible to write a good amount of Claro code without noticing anything unusual in this regard. Rather than going into an overly detailed explanation, read on to the following sections for some detailed examples of various different ways you can dynamically construct Claro programs at Build time.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » (Literal) Code Reuse","id":"264","title":"(Literal) Code Reuse"},"265":{"body":"This is a long section, but it's foundational to a deep understanding of the full expressive power you have available to you at Build time. You're encouraged to read through this in full! But remember, while you may sometimes end up consuming Modules that were defined using these advanced features, you'll never be forced to directly use any Build time metaprogramming feature yourself . These will always be conveniences for more advanced users.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Reusing Module APIs","id":"265","title":"Reusing Module APIs"},"266":{"body":"The most basic, and also most important form of reuse in Claro codebases will be in the form of multiple Modules sharing a common API. This doesn't require any special syntax or setup whatsoever, once you've defined a valid .claro_module_api file any number of Modules may implement that API. Each claro_module(...) definition simply needs to declare its module_api_file = ... to reference the same exact .claro_module_api file. For example, the following API: Fig 1: # animal.claro_module_api\nopaque newtype InternalState newtype State : struct { name: string, internal: InternalState\n} implement AnimalSounds::AnimalSounds; Can be implemented multiple times, by more than one Module: Fig 2: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") claro_module( name = \"dog\", module_api_file = \"animal.claro_module_api\", srcs = [\"dog.claro\"], deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"],\n)\nclaro_module( name = \"cat\", module_api_file = \"animal.claro_module_api\", srcs = [\"cat.claro\"], deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"],\n)\n# ... In general, the Build targets declared above will be totally sufficient!","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Multiple Implementations of a Module API","id":"266","title":"Multiple Implementations of a Module API"},"267":{"body":"The API definition above declares that any Module implementing the API will export a type that includes a name field, but may configure its own internal state as it wishes. To make this example more compelling, if you read the API closely, however, you may notice that as presently defined there would be no way for any dependent Module to actually interact with this API as defined, because there's no way to instantiate the opaque newtype InternalState [1] . So, to actually make this API useful, implementing Modules would need to somehow explicitly export some Procedure that gives dependents the ability to instantiate the InternalState. You'll notice that care has been taken to make sure that Claro's API syntax is flexible enough to allow for multiple APIs to be conceptually (or in this case, literally) concatenated to create one larger API for a Module to implement. So that's exactly what we'll do here, with each module exporting an additional procedure from its API to act as a \"constructor\" for its opaque type. Fig 3: # dog_cons.claro_module_api\nfunction create(name: string, isHappy: boolean) -> State; Fig 4: # cat_cons.claro_module_api\nfunction create(name: string, favoriteInsult: string) -> State; Fig 5: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") [\"BUILD\", \"animal.claro_module_api\", \"cat_cons.claro_module_api\", \"dog_cons.claro_module_api\"],\n) genrule( name = \"dog_api\", srcs = [\"animal.claro_module_api\", \"dog_cons.claro_module_api\"], outs = [\"dog.claro_module_api\"], cmd = \"cat $(SRCS) > $(OUTS)\"\n)\nclaro_module( name = \"dog\", module_api_file = \":dog_api\", # Updated to use the API with a constructor. srcs = [\"dog.claro\"], deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"],\n) genrule( name = \"cat_api\", srcs = [\"animal.claro_module_api\", \"cat_cons.claro_module_api\"], outs = [\"cat.claro_module_api\"], cmd = \"cat $(SRCS) > $(OUTS)\"\n)\nclaro_module( name = \"cat\", module_api_file = \":cat_api\", # Updated to use the API with a constructor. srcs = [\"cat.claro\"], deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"],\n)\n# ... In the future claro_module(...) will accept a list of .claro_module_api files instead of a single file to make this pattern easier to access without having to manually drop down to a genrule(...) to concatenate API files. And now, importantly, multiple Modules implementing the same API can coexist in the same Claro program with no conflict! Fig 6: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") # ... claro_binary( name = \"animals_example\", main_file = \"animals_example.claro\", deps = { \"AnimalSounds\": \":animal_sounds\", \"Cat\": \":cat\", \"Dog\": \":dog\", },\n) Fig 7: # animals_example.claro\nvar animals: [oneof] = [ Dog::create(\"Milo\", true), Dog::create(\"Fido\", false), Cat::create(\"Garfield\", \"This is worse than Monday morning.\") ]; for (animal in animals) { print(AnimalSounds::AnimalSounds::makeNoise(animal));\n} Output: Woof!\nGrrrr...\nThis is worse than Monday morning. Read more about Dynamic Dispatch if you're confused how the above Contract Procedure call works.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Going Deeper","id":"267","title":"Going Deeper"},"268":{"body":"Now, you'd be right to think that the above Build target declarations are extremely verbose. And potentially worse, they also contain much undesirable duplication that would have to kept in sync manually over time. Thankfully, Bazel provides many ways to address both of these issues. Remember that Bazel's BUILD files are written using Starlark, a subset of Python, so we have a significant amount of flexibility available to us when declaring Build targets! We'll walk through a few different options for defining these targets much more concisely.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Expressing the Above Build Targets More Concisely","id":"268","title":"Expressing the Above Build Targets More Concisely"},"269":{"body":"The very first thing we'll notice is that the vast majority of these targets are duplicated. So, as programmers, our first thought should be to ask how we can factor out the common logic, to avoid repeating ourselves. The below rewritten BUILD file does a much better job of making the similarities between the Cat and Dog modules explicit, and also prevents them from drifting apart accidentally over time. Fig 8: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") [ # This list-comprehension should feel very reminiscent of Claro's own comprehensions. [ # Generate multiple targets at once by declaring them in a list or some other collection. genrule( name = \"{0}_api\".format(name), srcs = [\"animal.claro_module_api\", \"{0}_cons.claro_module_api\".format(name)], outs = [\"{0}.claro_module_api\".format(name)], cmd = \"cat $(SRCS) > $(OUTS)\" ), claro_module( name = name, module_api_file = \":{0}_api\".format(name), srcs = srcs, deps = {\"AnimalSounds\": \":animal_sounds\"}, # `AnimalSounds` is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"], ) ] for name, srcs in {\"dog\": [\"dog.claro\"], \"cat\": [\"cat.claro\"]}.items()\n]","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Using List Comprehension to Define Multiple Similar Targets at Once","id":"269","title":"Using List Comprehension to Define Multiple Similar Targets at Once"},"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"},"270":{"body":"Now let's say that you wanted to declare another \"Animal\" in a totally separate package in your project. You could easily copy-paste the Build targets found in the previous BUILD file... but of course, this would invalidate our goal of avoiding duplication. So instead, as programmers our spider-senses should be tingling that we should factor this common logic not just into the loop (list comprehension), but into a full-blown function that can be reused and called from anywhere in our project. Bazel thankfully gives us access to defining so-called \"Macros\" that fill exactly this purpose [2] . The Build targets in the prior examples could be factored out into a Macro definition in a .bzl (Bazel extension file) like so: Fig 9: # animals.bzl\nload(\"@claro-lang//:rules.bzl\", \"claro_module\") def Animal(name, srcs): native.genrule( # In .bzl files you'll need to prefix builtin rules with `native.` name = \"{0}_api\".format(name), srcs = [\"animal.claro_module_api\", \"{0}_cons.claro_module_api\".format(name)], outs = [\"{0}.claro_module_api\".format(name)], cmd = \"cat $(SRCS) > $(OUTS)\" ) claro_module( name = name, module_api_file = \":{0}_api\".format(name), srcs = srcs, deps = {\"AnimalSounds\": \":animal_sounds\"}, # This Module is referenced in this Module's API so must be exported. exports = [\"AnimalSounds\"], ) And then, the macro can be used from BUILD files like so [3] : Fig 10: # BUILD\nload(\":animals.bzl\", \"Animal\") Animal(name = \"dog\", srcs = [\"dog.claro\"])\nAnimal(name = \"cat\", srcs = [\"cat.claro\"]) It couldn't possibly get much more concise than this! If you find yourself in a situation where you'll be defining lots of very similar Modules, it's highly recommended that you at least consider whether an approach similar to this one will work for you.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Declaring a Macro in a .bzl File to Make This Factored Out Build Logic Portable","id":"270","title":"Declaring a Macro in a .bzl File to Make This Factored Out Build Logic Portable"},"271":{"body":"TODO(steving) I think that I probably want to move this to be its own top-level section. TODO(steving) Fill out this section describing how this is effectively Dependency Injection handled at Build time rather than depending on heavyweight DI frameworks. For more context, read about Opaque Types . It's highly recommended to start with Macros, but if you find that a Macro is getting a lot of use (for example if you're publishing it for external consumption) you may find it beneficial to convert your Macro into a Bazel Rule. Bazel Rules have much nicer usage ergonomics as they enable Bazel to enforce certain higher level constraints such as requiring that certain parameters only accept files with a certain suffix. However, Bazel Rules are much more complicated to define than Macros so this should really be left to very advanced Bazel users. In practice, if you want a Bazel Macro to be reusable outside the Build package in which its .bzl file is defined, you'll need to use fully qualified target labels. E.g. //full/path/to:target rather than :target, as the latter is a \"relative\" label whose meaning is dependent on the Build package the Macro is used in, which is usually not what you want.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Module APIs » Swapping Dependencies at Build Time Based on Build Flags","id":"271","title":"Swapping Dependencies at Build Time Based on Build Flags"},"272":{"body":"Continuing to consider the \"Animals\" example from the previous section , let's consider a simple refactoring. As a reminder, previously, calls to AnimalSounds::makeNoise(...) produced very simple output: Fig 1: # animals_example.claro\nvar animals: [oneof] = [ Dog::create(\"Milo\", true), Dog::create(\"Fido\", false), Cat::create(\"Garfield\", \"This is worse than Monday morning.\") ]; for (animal in animals) { print(AnimalSounds::AnimalSounds::makeNoise(animal));\n} Output: Woof!\nGrrrr...\nThis is worse than Monday morning. As currently defined... Fig 2: # BUILD\nload(\":animals.bzl\", \"Animal\") Animal(name = \"dog\", srcs = [\"dog.claro\"])\nAnimal(name = \"cat\", srcs = [\"cat.claro\"]) ...if we wanted to include the animals' names in the printed lines. We'd have to go and manually update each Module's implementation, making changes to both dog.claro and cat.claro (and importantly, to any other animals we'd want to share this updated behavior): Fig 3: # cat.claro\nnewtype InternalState : struct { favoriteInsult: string } implement AnimalSounds::AnimalSounds { function makeNoise(cat: State) -> string { # Cats are mean, they're going to say mean things no matter what. var noise = unwrap(unwrap(cat).internal).favoriteInsult; return \"{noise} - says {unwrap(cat).name}\"; # Analogous code repeated in dog.claro. }\n}\n$$\n$$function create(name: string, favoriteInsult: string) -> State {\n$$ return State({\n$$ name = name,\n$$ internal = InternalState({favoriteInsult = favoriteInsult})\n$$ });\n$$} And now, after making the changes, rerunning will give us the updated output we were looking for: Fig 4: Woof! - says Milo\nGrrrr... - says Fido\nThis is worse than Monday morning. - says Garfield Repetition may be ok in some situations, but in many others, it would represent a risk of potential maintenance costs. Of course, you could always factor out the common logic into a new Module that can be depended on and called explicitly by each animal implementation (and in fact, this is absolutely the recommended approach in most situations ). But, since we're interested in digging into possible Build time metaprogramming capabilities in this section, by way of example, we'll walk through some other ways you could go about sharing this base implementation across Modules that potentially wouldn't have been immediately obvious, coming from other languages.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Source Code » Reusing Source Code","id":"272","title":"Reusing Source Code"},"273":{"body":"The first thing to understand is that a Module's implementation can be spread across multiple source files . This means that different .claro files can satisfy different portions of a Module's API. And, more importantly for our current purposes, this means that instead of creating a whole new Module to contain the common logic factored out of dog.claro and cat.claro, we could instead define a single new file containing that factored out logic... Fig 5: # get_message_with_name.claro\nfunction getMessageWithName(message: string, state: State) -> string { var name = unwrap(state).name; # All animal States have a top-level `name` field. return \"{message} - says {name}\";\n} ...include it in the srcs of BOTH Module declarations... Fig 6: # BUILD\nload(\":animals.bzl\", \"Animal\") # An example of **LITERALLY** reusing code.\nAnimal(name = \"dog\", srcs = [\"dog.claro\", \"get_message_with_name.claro\"])\nAnimal(name = \"cat\", srcs = [\"cat.claro\", \"get_message_with_name.claro\"]) ...and then directly call the factored out function in each Module's implementation! Fig 7: # cat.claro\n$$newtype InternalState : struct { favoriteInsult: string }\n$$\nimplement AnimalSounds::AnimalSounds { function makeNoise(cat: State) -> string { var noise = unwrap(unwrap(cat).internal).favoriteInsult; return getMessageWithName(noise, cat); # Analogous code repeated in dog.claro. }\n}\n$$\n$$function create(name: string, favoriteInsult: string) -> State {\n$$ return State({\n$$ name = name,\n$$ internal = InternalState({favoriteInsult = favoriteInsult})\n$$ });\n$$} This is an example of LITERAL code reuse - something that's generally not actually possible in other languages. In fact, you could take this a step further by factoring out this shared src file directly into the Animal(...) Macro implementation to automatically make the getMessageWithName(...) function available to all Animal(...) declarations. The key to this all working is that when the reused function references the State Type, it refers to either Dog::State or Cat::State depending on the context in which it's compiled. And the only field accessed via unwrap(state).name is valid for both types. In a sense, this form of Build time metaprogramming has given this strongly, statically typed programming language the ability to drop down into dynamic \"duck typing\" features when it's convenient to us. This utterly blurs the lines between the two typing paradigms while still maintaining all of the static type validations because all of this is happening at Build time, with Compile time's type-checking validations still to follow!","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Source Code » claro_module(...) Accepts Multiple Srcs","id":"273","title":"claro_module(...) Accepts Multiple Srcs"},"274":{"body":"The prior example is a demonstration of the \"composition\" model where, in order to share code, you explicitly compose new code around the shared code by manually calling into the shared code. But, of course, while composition is generally recommended over the inverted \"inheritance\" model, many people prefer the convenience that inheritance-based designs offer. Specifically, as you saw in the prior example, composition is more verbose, as you have to explicitly opt in to code sharing, whereas inheritance makes this implicit . Now, instead of each Module implementing the AnimalSounds Contract manually, a single default implementation could be written... Fig 8: # default_animal_sounds_impl.claro\nimplement AnimalSounds::AnimalSounds { function makeNoise(state: State) -> string { return \"{makeNoiseImpl(state)} - says {unwrap(state).name}\"; }\n} ...and then each Animal Module simply needs to define the expected internal implementation function makeNoiseImpl(...) to provide its custom logic... Fig 9: # cat.claro\n$$newtype InternalState : struct { favoriteInsult: string }\n$$\nfunction makeNoiseImpl(cat: State) -> string { # No more code duplication. return unwrap(unwrap(cat).internal).favoriteInsult;\n}\n$$\n$$function create(name: string, favoriteInsult: string) -> State {\n$$ return State({\n$$ name = name,\n$$ internal = InternalState({favoriteInsult = favoriteInsult})\n$$ });\n$$} ...and again, the \"inherited\" code can be included in the srcs of BOTH Module declarations... Fig 10: # BUILD\nload(\":animals.bzl\", \"Animal\") # An example of **LITERALLY** reusing code.\nAnimal(name = \"dog\", srcs = [\"dog.claro\", \"default_animal_sounds_impl.claro\"])\nAnimal(name = \"cat\", srcs = [\"cat.claro\", \"default_animal_sounds_impl.claro\"]) Modern software engineering best practices have been progressing towards the consensus view that you should prefer composition over inheritance. But, even though this preference is generally shared by Claro's author, it shouldn't necessarily indicate that inheritance is impossible to achieve. While Claro won't ever add first-class support for inheritance to the language, Claro explicitly leaves these sorts of design decisions to you and provides Build time metaprogramming support to allow the community to encode these sorts of organizational design patterns themselves to be available for whoever decides they have a good reason for it. You shouldn't need to be hostage to the language designer's agreement or prioritization to be able to extend the code organization patterns that can be expressed in the language.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Source Code » \"Inheritance\" - Inverting the Prior Example","id":"274","title":"\"Inheritance\" - Inverting the Prior Example"},"275":{"body":"If you've made it this far, well done! You may never need to use these \"power user\" features, but you should now have the core conceptual background that you'll need to use Bazel to encode your own relatively sophisticated custom organizational design patterns in your Claro programs using Build time metaprogramming! Of course, there's always another step deeper into such waters. By continuing on to the next section, we'll continue to develop the Animals example even further . In particular, we'll demonstrate one such sophisticated design pattern called \"Abstract Modules\" that fully generalizes all of the functionality described in the past two sections, and goes even further to provide significant configurability controls on top of what you've seen in the example Animal(...) macro so far.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Reusing Source Code » Further Flexibility","id":"275","title":"Further Flexibility"},"276":{"body":"In the past couple sections we've worked through examples of some fairly complex Build time metaprogramming to generate Modules that share some common behaviors between them. Having those low-level Build tools in your back pocket is something that may very well come in handy during your Claro development journey. However, in general, it's worth acknowledging that there's some inherent complexity in the prior approaches. It's my hope that the community will standardize around some well-defined set of Build design patterns that are encoded into well-known, standardized interfaces (Bazel Macros/Rules) to abstract away the low-level complexity underneath. In this section, I'll try to demonstrate what such a standardized encoding might look like for the design pattern demonstrated in the prior sections.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Abstract Modules","id":"276","title":"Abstract Modules"},"277":{"body":"The Animal(...) Macro defined in the previous sections was extremely rigid. It encoded exactly one specific code structure. It was arguably a very useful structure, but if we wanted to create an Animal(...) that deviated even slightly from the expected structure, you'd either have to go and refactor the Macro definition itself and all usages to add support for new behaviors, or you'd just have to fall back to manually defining a Module, losing all Build level code sharing that you were trying to achieve with the standardized Animal(...) Macro. All that said, the biggest limitation of the approach in the prior sections is that it was bespoke . While all the customizability that Build time metaprogramming gives you blows the design space wide open, it also makes it that much harder for anyone unfamiliar with the domain to follow what's going on.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Limitations of the Approach in the Prior Sections","id":"277","title":"Limitations of the Approach in the Prior Sections"},"278":{"body":"Arguably, the Animal(...) macro from the previous sections could be described as an encoding of an \"Abstract Module\" (in a sense vaguely similar to Java's \"Abstract Classes\" - minus the object-orientation). \"Abstract\" in the sense that some portions of all \"Animal\" Modules are known before even knowing the \"concrete Animal\" Modules that you'll specifically build later on. But there's nothing about this concept itself that's unique to \"Animals\". All sorts of categories of similar Modules can be imagined, and they could potentially all benefit from a similar \"Abstract\" base encoding that later gets specialized for each concrete Module. Largely as a draft demonstration of what a standardized encoding of this \"Abstract Module\" design pattern could look like, Claro provides a claro_abstract_module(...) Bazel Macro. Now, the Animal(...) Macro can be auto-generated in a few lines by simply calling the claro_abstract_module(...) Macro. Fig 1: # animal.bzl\nload( \"@claro-lang//stdlib/utils/abstract_modules:abstract_module.bzl\", \"claro_abstract_module\",\n) Animal = \\ claro_abstract_module( name = \"Animal\", module_api_file = \"animal.claro_module_api\", overridable_srcs = { \"AnimalSoundsImpl\": \":default_animal_sounds_impl.claro\", \"InternalStateAndConstructor\": \":default_internal_state.claro\", \"MakeNoiseImpl\": \":default_make_noise_impl.claro\", }, default_deps = { \"AnimalSounds\": \":animal_sounds\", }, default_exports = [\"AnimalSounds\"], )","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Abstracting Away the \"Abstract Module\" Pattern Itself","id":"278","title":"Abstracting Away the \"Abstract Module\" Pattern Itself"},"279":{"body":"On top of being a standardized encoding of this design pattern, \"Abstract Modules\" provide an additional mechanism for various components of the Module to be override-able. In the Animal = claro_abstract_module(...) declaration above, the overridable_srcs = {...} arg lists a few different named components that have default implementations provided as .claro source files that can be optionally overridden by any concrete Animal(...) usages. For the sake of demonstration, the \"Abstract Animal Module\" has been decomposed into a relatively fine granularity, allowing significant customization to downstream users of the Macro. So now the Animal(...) macro can be used very similarly as in the previous sections, but with some slightly different arguments: Fig 2: # BUILD\nload(\":animal.bzl\", \"Animal\") [ Animal( name = animal, api_extensions = [\":{0}_cons.claro_module_api\".format(animal)], override = { \"InternalStateAndConstructor\": \":{0}_state_and_cons.claro\".format(animal), \"MakeNoiseImpl\": \":{0}_noise.claro\".format(animal), }, ) for animal in [\"dog\", \"cat\"]\n] # ... The first notable detail is that the idea of extending Module APIs is now encoded directly into the \"Abstract Module\" Macros returned by claro_abstract_module(...) in the form of the api_extensions = [...] parameter. So now, we didn't need to manually concatenate api files using a Bazel genrule(...) as we did in the prior sections . Then, notice that the concrete cat and dog Animal Modules now implicitly inherit the default AnimalSoundsImpl implementation, while explicitly overriding InternalStateAndConstructor and MakeNoiseImpl with custom implementations. Now, these Module definitions can be used exactly the same as they were when defined using the approach(es) from the prior sections. As one final motivating example, to demonstrate something that this new Animal(...) implementation can do that the prior implementation(s) couldn't, we can also define a new Animal Module that overrides the default AnimalSounds Contract implementation, by overriding AnimalSoundsImpl: Fig 3: # platypus_animal_sounds_impl.claro\nimplement AnimalSounds::AnimalSounds { function makeNoise(state: State) -> string { var name = unwrap(state).name; if (unwrap(unwrap(state).internal).isWearingFedora) { # https://youtu.be/KFssdwb7dF8?si=Omgf1-D3qIBY6jO9 var codename = name[0]; return \"!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent {codename}\"; } return \"Chirp Chirp - says {name}\"; }\n} Fig 4: # BUILD\nload(\":animal.bzl\", \"Animal\") # ... Animal( name = \"platypus\", api_extensions = [\":platypus_cons.claro_module_api\"], override = { \"AnimalSoundsImpl\": \":platypus_animal_sounds_impl.claro\", \"InternalStateAndConstructor\": \":platypus_state_and_cons.claro\", },\n) And now, our demo program can start use the platypus Module just as it was using the dog and cat Modules previously: Fig 5: # BUILD\nload(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") # ... claro_binary( name = \"animals_example\", main_file = \"animals_example.claro\", deps = { \"AnimalSounds\": \":animal_sounds\", \"Cat\": \":cat\", \"Dog\": \":dog\", \"Platypus\": \":platypus\", },\n) Fig 6: # animals_example.claro\nvar animals: [oneof] = [ Dog::create(\"Milo\", true), Dog::create(\"Fido\", false), Cat::create(\"Garfield\", \"This is worse than Monday morning.\"), Platypus::create(\"Perry\", false), Platypus::create(\"Perry\", true) ]; for (animal in animals) { print(AnimalSounds::AnimalSounds::makeNoise(animal));\n} Output: Woof! - says Milo\nGrrrr... - says Fido\nThis is worse than Monday morning. - says Garfield\nChirp Chirp - says Perry\n!!!!!!!!!! REDACTED TOP SECRET MESSAGE !!!!!!!!!! - Agent P","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Override Flexibility","id":"279","title":"Override Flexibility"},"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"},"280":{"body":"The point of this section is really to demonstrate some possibilities available to all Claro users interested in writing Bazel Macros to encode relatively complex design patterns. And, I think we can agree that being able to hand-roll the very concept of inheritance without having to make a single change to the Claro compiler itself is a rather powerful capability! But to say it once more, this is all meant as a demonstration, rather than encouragement of specific usage of this claro_abstract_module(...) Macro. So, we won't dive any further into the implementation details of how this prototype works, and we won't even go into the full range of capabilities that this prototype currently supports. However, if you're sufficiently interested that you really wanted to know more, feel free to check out the implementation yourself! You'll probably learn a lot about Bazel in the process of reading through it, so it could be enlightening.","breadcrumbs":"Build Time Metaprogramming » (Literal) Code Reuse » Abstract Modules » Additional Knobs & Implementation Details","id":"280","title":"Additional Knobs & Implementation Details"},"281":{"body":"Claro aims to provide an expansive standard library of modules that all Claro programs have an implicit dependency on at all times. Any of these default StdLib modules can be accessed directly with calls like: Fig 1: $$ var l: mut [int] = mut [];\nlists::add(l, 1);\nlists::add(l, 2);\n$$ print(l); Output: mut [1, 2] and you never need to manually place an explicit dependency at the BUILD level like you normally would for any other module outside the StdLib: Fig 2: claro_binary( name = \"some_binary\", main_file = \"some_file.claro\", deps = { # Deps on modules outside the StdLib require an explicit Build dep. \"SomeDep\": \"//path/to/some/dep:module\", },\n)","breadcrumbs":"Default Modules » Default Modules","id":"281","title":"Default Modules"},"282":{"body":"Of course, as Claro's still at a very early stage, a certain level of incompleteness has to be expected. Please don't hesitate to reach out with suggestions in ways that the current standard library could be improved or expanded!","breadcrumbs":"Default Modules » The StdLib is a WIP - Recommendations are Welcome!","id":"282","title":"The StdLib is a WIP - Recommendations are Welcome!"},"283":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. function parseBoolean(s: string) -> boolean;","breadcrumbs":"Default Modules » booleans » booleans","id":"283","title":"booleans"},"284":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # This module simply exposes the functionality from java.util.ArrayDeque to Claro programs. See:\n# - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayDeque.html # Deque = \"Double-ended queue\".\nopaque newtype mut Deque atom NO_SUCH_ELEMENT\natom DEQUE_UNCHANGED provider create() -> Deque;\nfunction of(elems: [T]) -> Deque;\nfunction withCapacity(initialCapacity: int) -> Deque; consumer addAllToFront(deque: Deque, elems: [T]); consumer addFirst(deque: Deque, t: T);\nconsumer addLast(deque: Deque, t: T); consumer clear(deque: Deque); # TODO(steving) Claro's intended to have support for the builtin `copy()` function. For $java_type's however this can't\n# TODO(steving) be automatically generated, so I need some mechanism for $java_type's to provide a function for that\n# TODO(steving) copying implementation.\nfunction clone(deque: Deque) -> Deque; function contains(deque: Deque, t: T) -> boolean;\nfunction containsAll(deque: Deque, elems: [T]) -> boolean; consumer forEach(deque: Deque, action: consumer); function isEmpty(deque: Deque) -> boolean; function peekFirst(deque: Deque) -> oneof;\nfunction peekLast(deque: Deque) -> oneof; function pollFirst(deque: Deque) -> oneof;\nfunction pollLast(deque: Deque) -> oneof; function removeAll(deque: Deque, elems: [T]) -> oneof;\nfunction removeElement(deque: Deque, t: T) -> oneof;\nfunction removeFirst(deque: Deque) -> oneof;\nfunction removeFirstOccurrence(deque: Deque, t: T) -> oneof;\nfunction removeIf(deque: Deque, predicate: function boolean>) -> oneof;\nfunction removeLast(deque: Deque) -> oneof;\nfunction removeLastOccurrence(deque: Deque, t: T) -> oneof; function retainAll(deque: Deque, elems: [T]) -> oneof; function size(deque: Deque) -> int;","breadcrumbs":"Default Modules » deque » deque","id":"284","title":"deque"},"285":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. newtype InvalidNumberFormat : struct { msg: string } static MAX_VALUE: double;\nstatic MIN_VALUE: double; function parseDouble(s: string) -> oneof>;","breadcrumbs":"Default Modules » doubles » doubles","id":"285","title":"doubles"},"286":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # Opaque type whose internal representation is not exposed to consumers. This cannot be unwrapped OR initialized by any\n# code outside of this module's srcs.\nopaque newtype Resource\nnewtype IOError : string # Now some claro file could read a resource declared in its build target as:\n# claro_module(\n# name = \"foo\",\n# module_api_file = \"foo.claro_module_api\",\n# srcs = [\"foo.claro\"],\n# resources = {\"MyFile\": \"myfile.txt\"},\n# }\n# Inside `foo.claro`:\n# var fileContents: string = files::readOrPanic(resources::MyFile);\nfunction read(resource: Resource) -> oneof>;\nfunction readOrPanic(resource: Resource) -> string;","breadcrumbs":"Default Modules » files » files","id":"286","title":"files"},"287":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. newtype InvalidNumberFormat : struct { msg: string } static MAX_VALUE: float;\nstatic MIN_VALUE: float; function parseFloat(s: string) -> oneof>;","breadcrumbs":"Default Modules » floats » floats","id":"287","title":"floats"},"288":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # Creates a `future` which has its value set immediately upon construction. The getters just return the value. This\n# `future` can't be canceled or timed out and `futures::isDone(futures::immediateFuture(...))` always returns true.\nfunction immediateFuture(t: T) -> future; # Creates a `future` which is cancelled immediately upon construction, so that `futures::isCancelled` always returns `true`.\nprovider immediateCancelledFuture() -> future; # Executes the given tasks, returning a list of Futures holding their status and results when all complete.\nfunction invokeAll(tasks: [provider]) -> [future]; # Attempts to cancel execution of this task. This attempt will fail if the task has already completed, has already been\n# cancelled, or could not be cancelled for some other reason. If successful, and this task has not started when cancel\n# is called, this task should never run. If the task has already started, then the mayInterruptIfRunning parameter\n# determines whether the thread executing this task should be interrupted in an attempt to stop the task.\n#\n# After this method returns, subsequent calls to `futures::isDone` will always return true. Subsequent calls to\n# isCancelled() will always return true if this method returned true.\n#\n# Returns: `false` if the task could not be cancelled, typically because it has already completed normally; `true` otherwise.\nfunction cancel(f: future, mayInterrupt: boolean) -> boolean; # Returns `true` if this task was cancelled before it completed normally, else `false`.\nfunction isCancelled(f: future) -> boolean; # Returns `true` if this task completed. Completion may be due to normal termination, a Panic, or cancellation -- in all\n# of these cases, this method will return `true`.\nfunction isDone(f: future) -> boolean; # Creates a new `future` whose value is a list containing the values of all its input `future`s, if all succeed. The\n# list of results is in the same order as the input list.\n#\n# Canceling this returned `future` will attempt to cancel all the component `future`s, and if any of the provided\n# `future`s fails or is canceled, this one is, too.\nfunction allAsList(futures: [future]) -> future<[T]>; # Creates a `future` that runs the given provider when the futures complete whether or not they're successful.\n# Canceling this future will attempt to cancel all the component futures.\nfunction whenAllComplete(futures: [future], action: provider) -> future;\nfunction whenAllCompleteAsync(futures: [future], action: provider>) -> future; # Creates a `future` that runs the given provider requiring that all passed in futures are successful. If any input\n# fails, the returned future fails immediately. Canceling this future will attempt to cancel all the component futures.\nfunction whenAllSucceed(futures: [future], action: provider) -> future;\nfunction whenAllSucceedAsync(futures: [future], action: provider>) -> future; # Creates a new `future` whose value is a list containing the values of all its successful input futures. The list of\n# results is in the same order as the input list, and if any of the provided futures Panics or is canceled, its\n# corresponding position will contain `futures::DID_NOT_SUCCEED`. Canceling this future will attempt to cancel all the\n# component futures.\nfunction successfulAsList(futures: [future]) -> future<[T]>; # Returns a list of delegate futures that correspond to the futures received in the order that they complete. Delegate\n# futures return the same value as the corresponding input future returns.\n#\n# \"In the order that they complete\" means, for practical purposes, about what you would expect, but there are some\n# subtleties. First, we do guarantee that, if the output future at index n is done, the output future at index n-1 is\n# also done. (But as usual with futures, some listeners for future n may complete before some for future n-1.) However,\n# it is possible, if one input completes with result X and another later with result Y, for Y to come before X in the\n# output future list. (Such races are impossible to solve without global synchronization of all future completions. And\n# they should have little practical impact.)\n#\n# Cancelling a delegate future propagates to input futures once all the delegates complete, either from cancellation or\n# because an input future has completed. If N futures are passed in, and M delegates are cancelled, the remaining M\n# input futures will be cancelled once N - M of the input futures complete. If all the delegates are cancelled, all the\n# input futures will be too.\nfunction inCompletionOrder(futures: [future]) -> [future]; # Schedules action on given delay on the default single-threaded scheduled executor service (separate from the default\n# multi-threaded graph executor service). Actions scheduled via this function will be executed in FIFO order.\nfunction schedule(action: provider, delay: duration::Duration) -> future;\nfunction scheduleAsync(action: provider>, delay: duration::Duration) -> future; # Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with\n# the given period; that is executions will commence after initialDelay then initialDelay+period, then\n# initialDelay + 2 * period, and so on.\n# TODO(steving) Claro really should probably have another procedure type ala \"runnable\" or \"action\" or something rather\n# TODO(steving) than this somewhat nonsensical consumer.\nfunction scheduleAtFixedRate( action: consumer, initialDelay: duration::Duration, period: duration::Duration) -> future; # Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with\n# the given delay between the termination of one execution and the commencement of the next.\nfunction scheduleWithFixedDelay( action: consumer, initialDelay: duration::Duration, delay: duration::Duration) -> future;","breadcrumbs":"Default Modules » futures » futures","id":"288","title":"futures"},"289":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. function map(l: [A], fn: function
    B>) -> [B];\nfunction filter(l: [A], pred: function boolean>) -> [A];\nfunction reduce(l: [A], fn: function<|B, A| -> B>, accum: B) -> B;","breadcrumbs":"Default Modules » fp » fp","id":"289","title":"fp"},"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"},"290":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. static MAX_VALUE: int;\nstatic MIN_VALUE: int; newtype InvalidNumberFormat : struct { msg: string } function parseInt(s: string) -> oneof>;","breadcrumbs":"Default Modules » ints » ints","id":"290","title":"ints"},"291":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # This module simply provides access to the functionality described in:\n# - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html\n# The signatures found here in this module are not a 1:1 match with the signatures in their Java equivalents, however,\n# as all error cases have been intentionally modelled as proper return values wrapped in std::Error<...>. In this way,\n# interacting with any procedures defined in this module will be inherently safe. # TODO(steving) Claro needs some sort of Collection contract or something so that duplicated procedures aren't needed\n# TODO(steving) for mut/immut cases. # TODO(steving) If at all possible, ClaroList.java should be refactored so that it *contains* a List rather than extends\n# TODO(steving) ArrayList directly so that functionality directly from Guava's Lists class can be directly added to\n# TODO(steving) this module w/o losing the performance wins of their \"views\".\n# TODO(steving) - https://guava.dev/releases/23.0/api/docs/com/google/common/collect/Lists.html newtype IndexOutOfBounds : struct {index: int, size: int}\nnewtype IndicesOutOfOrder : struct {invalidLowerBound: int, invalidUpperBound: int}\nnewtype InvalidCapacity : int\nnewtype ElementNotFound : T # Appends the specified element to the end of this list.\nconsumer add(l: mut [T], toAdd: T); # Appends all of the elements in the second list to the end of the first list, in the order they appear in the second.\n# The behavior of this call is undefined if both args reference the same non-empty list.\n#\n# Returns: `true` if this list changed as a result of the call, else `false`.\nfunction addAll(l: mut [T], toAdd: [T]) -> boolean;\nfunction addAllFromMut(l: mut [T], toAdd: mut [T]) -> boolean; # Removes all of the elements from this list. The list will be empty after this call returns.\nconsumer clear(l: mut [T]); # Returns: true if this list contains the specified element, else `false`.\nfunction contains(l: [T], elem: T) -> boolean;\nfunction containsInMut(l: mut [T], elem: T) -> boolean; # Returns: true if this list contains all of the elements of the specified collection, else `false`.\nfunction containsAll(l: [T], elems: [T]) -> boolean;\nfunction containsAllFromMut(l: [T], elems: mut [T]) -> boolean;\nfunction containsAllInMut(l: mut [T], elems: [T]) -> boolean;\nfunction containsAllInMutFromMut(l: mut [T], elems: mut [T]) -> boolean; # Increases the capacity of this list instance, if necessary, to ensure that it can hold at least the number of elements\n# specified by the minimum capacity argument.\nconsumer ensureCapacity(l: mut [T], minCapacity: int); # Performs the given action for each element.\nconsumer forEach(l: [T], action: consumer);\nconsumer forEachInMut(l: mut [T], action: consumer); # Returns the element at the specified position in this list. This is a bounds-checked alternative to directly accessing\n# via the unsafe `[]` which may result in a runtime Panic.\nfunction getAt(l: [T], index: int) -> oneof>;\nfunction getAtInMut(l: mut [T], index: int) -> oneof>; # Returns: the index of the first occurrence of the specified element in this list, or -1 if this list does not contain\n# the element.\nfunction indexOf(l: [T], t: T) -> oneof>>;\nfunction indexOfInMut(l: mut [T], t: T) -> oneof>>; # Inserts all of the elements in the second list into the first list, starting at the specified position. Shifts the\n# element currently at that position (if any) and any subsequent elements to the right (increases their indices). The\n# new elements will appear in the first list in the order that they occur in the second list.\n#\n# Returns: `true` if this list changed as a result of the call, else `false`.\nfunction insertAllAt(l: mut [T], index: int, elems: [T]) -> oneof>;\nfunction insertAllAtFromMut(l: mut [T], index: int, elems: mut [T]) -> oneof>; # Inserts the specified element at the specified position in this list. Shifts the element currently at that position\n# (if any) and any subsequent elements to the right (adds one to their indices).\nfunction insertAt(l: mut [T], index: int, t: T) -> oneof>; # Returns: `true` if this list contains no elements, else `false`.\nfunction isEmpty(l: [T]) -> boolean;\nfunction isEmptyInMut(l: mut [T]) -> boolean; # Returns: the index of the last occurrence of the specified element in this list, or -1 if this list does not contain\n# the element.\nfunction lastIndexOf(l: [T], t: T) -> oneof>>;\nfunction lastIndexOfInMut(l: mut [T], t: T) -> oneof>>; # Removes from this list all of its elements that are contained in the specified collection.\n#\n# Returns: `true` if this list changed as a result of the call, else `false`.\nfunction removeAll(l: mut [T], toRemove: [T]) -> boolean;\nfunction removeAllFromMut(l: mut [T], toRemove: mut [T]) -> boolean; # TODO(steving) Drop `remove()` as builtin token from lexer/parser so that this isn't duplicated.\n# Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one\n# from their indices).\n#\n# Returns: the element that was removed from the list.\nfunction removeAt(l: mut [T], index: int) -> oneof>; # Removes the first occurrence of the specified element from this list, if it is present. If the list does not contain\n# the element, it is unchanged.\n#\n# Returns: `true` if this list contained the specified element, else `false`.\nfunction removeFirst(l: mut [T], t: T) -> boolean; # Removes all of the elements of this list that satisfy the given predicate.\n#\n# Returns: `true` if any elements were removed, else `false`.\nfunction removeIf(l: mut [T], pred: function boolean>) -> boolean; # Replaces each element of this list with the result of applying the operator to that element.\nconsumer replaceAll(l: mut [T], operator: function T>); # Retains only the elements in the first list that are contained in the second list. In other words, removes from the\n# first list all of its elements that are not contained in the second list.\n#\n# Returns: `true` if this list changed as a result of the call, else `false`.\nfunction retainAll(l: mut [T], toRetain: [T]) -> boolean;\nfunction retainAllFromMut(l: mut [T], toRetain: mut [T]) -> boolean; # Replaces the element at the specified position in this list with the specified element. This is a bounds-checked\n# alternative to directly setting via the unsafe `l[index] = ...` which may result in a runtime Panic.\nfunction setAt(l: mut [T], index: int, t: T) -> oneof>; # Sorts this list according to the order induced by the specified comparator.\n# For detailed explanation of \"comparators\", see: https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html\nconsumer sort(l: mut [T], comparator: function<|T, T| -> int>); # Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If\n# `fromInclusive` and `toExclusive` are equal, the returned list is empty.)\nfunction subList(l: [T], fromInclusive: int, toExclusive: int) -> oneof<[T], std::Error, std::Error>;\n# TODO(steving) If at all possible, ClaroList.java should be refactored so that it *contains* a List rather than extends\n# TODO(steving) ArrayList directly so that subListOfMut() can return a proper \"view\".\n# TODO(steving) - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#addAll-int-java.util.Collection-:~:text=This%20method%20eliminates,from%2C%20to).clear()%3B\nfunction subListOfMut(l: mut [T], fromInclusive: int, toExclusive: int) -> oneof, std::Error>; # Trims the capacity of this list instance to be the list's current size. An application can use this operation to\n# minimize the storage of a list instance.\nconsumer trimToSize(l: mut [T]); # Constructs an empty list with the specified initial capacity.\nfunction withInitialCapacity(capacity: int) -> oneof>;","breadcrumbs":"Default Modules » lists » lists","id":"291","title":"lists"},"292":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. newtype InvalidNumberFormat : struct { msg: string } static MAX_VALUE: long;\nstatic MIN_VALUE: long; function parseLong(s: string) -> oneof>;","breadcrumbs":"Default Modules » longs » longs","id":"292","title":"longs"},"293":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # This module simply provides access to the functionality described in:\n# - https://docs.oracle.com/javase/8/docs/api/java/util/Map.html\n# The signatures found here in this module are not a 1:1 match with the signatures in their Java equivalents, however,\n# as all error cases have been intentionally modelled as proper return values wrapped in std::Error<...>. In this way,\n# interacting with any procedures defined in this module will be inherently safe. # TODO(steving) Claro needs some sort of Map contract or something so that duplicated procedures aren't needed\n# TODO(steving) for mut/immut cases. # TODO(steving) If at all possible, ClaroMap.java & ClaroSet.java should be refactored to *contains* a collection rather\n# TODO(steving) than extending the Java collections directly so that functionality directly from Guava's Maps\n# TODO(steving) class can be directly added to this module w/o losing the performance wins of their \"views\".\n# TODO(steving) - https://guava.dev/releases/22.0/api/docs/com/google/common/collect/Maps.html # Returns true if this map contains no key-value mappings.\nfunction isEmpty(m: {K:V}) -> boolean;\nfunction isEmptyMut(m: mut {K:V}) -> boolean; # Returns true if this map maps one or more keys to the specified value. This operation will require time linear in the map size.\nfunction containsValue(m: {K:V}, v: V) -> boolean;\nfunction containsValueInMut(m: mut {K:V}, v: V) -> boolean; # 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;\nfunction getOrDefaultFromMut(m: mut {K:V}, k: K, defaultValue: V) -> V; # Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.\nconsumer clear(m: mut {K:V}); # Returns an immutable set containing the keys of this map.\nfunction keySet(m: {K:V}) -> {K};\n# Returns an immutable set containing the keys of this map. Changes made to the original map *do not* have any affect on\n# the returned set.\nfunction keySetOfMut(m: mut {K:V}) -> {K}; # Returns a mutable set containing the keys of this map. Changes made to either collection have no affect on the other.\nfunction mutKeySet(m: {K:V}) -> mut {K};\nfunction mutKeySetOfMut(m: mut {K:V}) -> mut {K}; # TODO(steving) If at all possible, ClaroSet.java should be refactored so that it *contains* a Set rather than extends\n# TODO(steving) HashSet directly so that maps::mutKeySetOfMut() can return a proper \"view\".\n# TODO(steving) - https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#clear--:~:text=Returns%20a%20Set%20view%20of%20the%20keys%20contained%20in%20this%20map.%20The%20set%20is%20backed%20by%20the%20map%2C%20so%20changes%20to%20the%20map%20are%20reflected%20in%20the%20set%2C%20and%20vice%2Dversa.\n#function mutKeySetViewOfMut(m: mut {K:V}) -> mut {K}; # Returns an immutable set containing the values of this map.\nfunction values(m: {K:V}) -> {V};\n# Returns an immutable set containing the values of this map. Changes made to the original map *do not* have any affect on\n# the returned set.\nfunction valuesOfMut(m: mut {K:V}) -> {V}; # Returns a mutable set containing the values of this map. Changes made to either collection have no affect on the other.\nfunction mutValues(m: {K:V}) -> mut {V};\nfunction mutValuesOfMut(m: mut {K:V}) -> mut {V}; # Returns an immutable set of the mappings contained in this map.\nfunction entrySet(m: {K:V}) -> {tuple};\n# Returns an immutable set of the mappings contained in this map. Changes made to the original map *do not* have any\n# affect on the returned set.\nfunction entrySetOfMut(m: mut {K:V}) -> {tuple}; # Returns a mutable set of the mappings contained in this map.\nfunction mutEntrySet(m: {K:V}) -> mut {tuple};\n# Returns a mutable set of the mappings contained in this map. Changes made to either collection have no affect on the other.\nfunction mutEntrySetOfMut(m: mut {K:V}) -> mut {tuple}; # Performs the given action for each entry in this map until all entries have been processed.\nconsumer forEach(m: {K:V}, action: consumer);\nconsumer forEachInMut(m: mut {K:V}, action: consumer); # Replaces each entry's value with the result of invoking the given function on that entry until all entries have been\n# processed.\nconsumer replaceAll(m: mut {K:V}, mapper: function<|K, V| -> V>); # Associates the specified value with the specified key in this map. If the map previously contained a mapping for the\n# key, the old value is replaced by the specified value.\n#\n# Returns: the previous value associated with key, or `maps::PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY` if there was no\n# mapping for key.\natom PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY\nfunction put(m: mut {K:V}, k: K, v: V) -> oneof; # Copies all of the mappings from the specified map to this map. The effect of this call is equivalent to that of\n# calling `maps::put(m, k, v)` on this map once for each mapping from key k to value v in the specified map.\nconsumer putAll(m: mut {K:V}, from: {K:V});\nconsumer putAllFromMut(m: mut {K:V}, from: mut {K:V}); # If the specified key is not already associated with a value, associates it with the given value and returns\n# `maps::PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY`, else returns the current value.\nfunction putIfAbsent(m: mut {K:V}, k: K, v: V) -> oneof; # Removes the mapping for a key from this map if it is present.\n#\n# Returns: the value to which this map previously associated the key, or `maps::KeyNotFound` if the map contained no\n# mapping for the key.\nfunction removeKey(m: mut {K:V}, k: K) -> oneof>; # Removes the entry for the specified key only if it is currently mapped to the specified value.\nfunction removeEntry(m: mut {K:V}, k: K, v: V) -> boolean; # Replaces the entry for the specified key only if currently mapped to the specified value.\n#\n# Returns: `true` if the value was replaced, else `false`.\nfunction replaceEntry(m: mut {K:V}, k: K, oldValue: V, newValue: V) -> boolean; # Replaces the entry for the specified key only if it is currently mapped to some value.\n#\n# Returns: the previous value associated with the specified key, or `std::Error>` if there was no\n# mapping for the key.\nnewtype KeyNotFound : K\nfunction replace(m: mut {K:V}, k: K, newValue: V) -> oneof>>; # If the specified key is not already associated with a value, attempts to compute its value using the given mapping\n# function and enters it into this map, unless the function returns `maps::DoNotUpdate` in which case no mapping is\n# recorded.\n#\n# Returns: the current (existing or computed) value associated with the specified key, or propagates any\n# `maps::DoNotUpdate` returned by `mapper`.\nnewtype DoNotUpdate : K\nfunction computeIfAbsent( m: mut {K:V}, k: K, mapper: function oneof>>>) -> oneof>>; # If the value for the specified key is present, attempts to compute a new mapping given the key and its current mapped\n# value. If the function returns `maps::REMOVE_ENTRY`, the mapping is removed.\n#\n# Returns: the new value associated with the specified key, propagates `maps::REMOVE_ENTRY` if the entry was removed, or\n# `maps::KeyNotFound` if the key was not present in the map.\natom REMOVE_ENTRY\nfunction computeIfPresent( m: mut {K:V}, k: K, remapper: function<|K, V| -> oneof>) -> oneof>>; # Attempts to compute a mapping for the specified key and its current mapped value (or `maps::KeyNotFound` if there\n# is no current mapping). For example, to either create or append a string msg to a value mapping:\n#\n# maps::compute(\n# someMap,\n# key,\n# lambda (k, v) -> {\n# if (v instanceof maps::KeyNotFound) {\n# return msg;\n# }\n# return \"{v}{msg}\";\n# }\n# );\n# (Method merge() is often simpler to use for such purposes.)\n#\n# If the function returns `maps::REMOVE_ENTRY`, the mapping is removed (or remains absent if initially absent).\n#\n# Returns: the new value associated with the specified key, or propagates `maps::REMOVE_ENTRY` if the entry was removed.\nfunction compute( m: mut {K:V}, k: K, remapper: function<|K, oneof>| -> oneof>) -> oneof; # If the specified key is not already associated with a value, associates it with the given value. Otherwise, replaces\n# the associated value with the results of the given remapping function, or removes if the result is\n# `maps::REMOVE_ENTRY`. This method may be of use when combining multiple mapped values for a key. For example, to\n# either create or append a String msg to a value mapping:\n#\n# maps::merge(someMap, key, msg, lambda (oldVal, newVal) -> {\n# match (newVal) {\n# case _:maps::REMOVE_ENTRY -> return newVal;\n# case _ -> return \"{oldVal}{newVal}\";\n# }\n# });\n#\n# Returns: the new value associated with the specified key, or propagates `std::REMOVE_ENTRY` if the entry was removed.\nfunction merge( m: mut {K:V}, k: K, v: oneof, remapper: function<|V, oneof| -> oneof>) -> oneof;","breadcrumbs":"Default Modules » maps » maps","id":"293","title":"maps"},"294":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. function absInt(i: int) -> int;\nfunction absDouble(d: double) -> double;\nfunction absFloat(f: float) -> float; function ceiling(d: double) -> double;\nfunction ceilingFloat(f: float) -> float; function floor(d: double) -> double;\nfunction floorFloat(f: float) -> float; function maxInt(a: int, b: int) -> int;\nfunction maxDouble(a: double, b: double) -> double;\nfunction maxFloat(a: float, b: float) -> float; function minInt(a: int, b: int) -> int;\nfunction minDouble(a: double, b: double) -> double;\nfunction minFloat(a: float, b: float) -> float; function roundDownToInt(d: double) -> int;\nfunction roundUpToInt(d: double) -> int;\nfunction roundFloatDownToInt(f: float) -> int;\nfunction roundFloatUpToInt(f: float) -> int; function sqrt(d: double) -> double;\nfunction sqrtFloat(f: float) -> float;","breadcrumbs":"Default Modules » math » math","id":"294","title":"math"},"295":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. opaque newtype mut PriorityQueue atom NO_SUCH_ELEMENT provider create() -> PriorityQueue;\nfunction of(elems: [T]) -> PriorityQueue;\nfunction withInitialCapacity(initialCapacity: int) -> PriorityQueue; function peek(pq: PriorityQueue) -> oneof;\nfunction poll(pq: PriorityQueue) -> oneof;\nconsumer add(pq: PriorityQueue, t: T); function removeElement(pq: PriorityQueue, t: T) -> boolean; function size(pq: PriorityQueue) -> int;","breadcrumbs":"Default Modules » priority_queue » priority_queue","id":"295","title":"priority_queue"},"296":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. opaque newtype RandomNumberGenerator # See: https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#random--\nprovider doubleInUnitInterval() -> double; provider create() -> RandomNumberGenerator;\n# TODO(steving) Update this to take a `long` once supported.\nfunction forSeed(seed: int) -> RandomNumberGenerator; function nextBoolean(rng: RandomNumberGenerator) -> boolean;\nfunction nextDouble(rng: RandomNumberGenerator) -> double;\nfunction nextFloat(rng: RandomNumberGenerator) -> float;\nfunction nextInt(rng: RandomNumberGenerator) -> int;\nfunction nextNonNegativeBoundedInt(rng: RandomNumberGenerator, exclusiveUpperBound: int) -> int;","breadcrumbs":"Default Modules » random » random","id":"296","title":"random"},"297":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # Not thread safe.\nopaque newtype mut Scanner atom NO_MORE_TOKENS\natom PATTERN_NOT_FOUND\natom ILLEGAL_NEGATIVE_HORIZON\natom INPUT_MISMATCH provider forStdIn() -> Scanner;\nfunction forString(toScan: string) -> Scanner; function useDelimiter(sc: Scanner, pattern: string) -> Scanner;\nfunction reset(sc: Scanner) -> Scanner; blocking function findInLine(sc: Scanner, pattern: string) -> oneof;\nblocking function findWithinHorizon(sc: Scanner, pattern: string, horizon: int) -> oneof; blocking function hasNextToken(sc: Scanner) -> boolean;\nblocking function hasNextPattern(sc: Scanner, pattern: string) -> boolean;\nblocking function hasNextBoolean(sc: Scanner) -> boolean;\nblocking function hasNextFloat(sc: Scanner) -> boolean;\nblocking function hasNextInt(sc: Scanner) -> boolean;\nblocking function hasNextLine(sc: Scanner) -> boolean; blocking function nextToken(sc: Scanner) -> oneof;\nblocking function nextMatch(sc: Scanner, pattern: string) -> oneof;\nblocking function nextBoolean(sc: Scanner) -> oneof;\nblocking function nextFloat(sc: Scanner) -> oneof;\nblocking function nextInt(sc: Scanner) -> oneof;\nblocking function nextLine(sc: Scanner) -> oneof; blocking function skipPattern(sc: Scanner, pattern: string) -> struct { scanner: Scanner, res: oneof };","breadcrumbs":"Default Modules » scanner » scanner","id":"297","title":"scanner"},"298":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # This module simply provides access to the functionality described in:\n# - https://docs.oracle.com/javase/8/docs/api/java/util/Set.html # TODO(steving) Claro needs some sort of Collection contract so that these procedures can avoid duplication for the\n# TODO(steving) various combinations of mutability annotations. # TODO(steving) If at all possible, ClaroSet.java should be refactored so that it *contains* a Set rather than extends\n# TODO(steving) HashSet directly so that functionality directly from Guava's Sets class can be directly added to\n# TODO(steving) this module w/o losing the performance wins of their \"views\".\n# TODO(steving) - https://guava.dev/releases/23.0/api/docs/com/google/common/collect/Sets.html provider emptySet() -> {T};\nprovider emptyMutSet() -> mut {T}; # 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; # Adds all of the elements in the specified collection to this set if they're not already present.\n#\n# Returns: true if the set changed as a result of the call.\nfunction addAllFromList(s: mut {T}, toAdd: [T]) -> boolean;\nfunction addAllFromMutList(s: mut {T}, toAdd: mut [T]) -> boolean;\n# Adds all of the elements in the second set to the first set if they're not already present. This operation effectively\n# modifies the first set so that its value is the union of the two sets.\n#\n# Returns: true if the first set changed as a result of the call.\nfunction addAllFromSet(s: mut {T}, toAdd: {T}) -> boolean;\nfunction addAllFromMutSet(s: mut {T}, toAdd: mut {T}) -> boolean; # Removes all of the elements from this set. The set will be empty after this call returns.\nconsumer clear(s: mut {T}); # Returns true if this set contains all of the elements of the specified collection.\nfunction containsAll(s: {T}, elems: [T]) -> boolean;\nfunction containsAllFromMut(s: {T}, elems: mut [T]) -> boolean;\nfunction containsAllInMut(s: mut {T}, elems: [T]) -> boolean;\nfunction containsAllInMutFromMut(s: mut {T}, elems: mut [T]) -> boolean; # Performs the given action for each element.\nconsumer forEach(s: {T}, action: consumer);\nconsumer forEachInMut(s: mut {T}, action: consumer); # This method returns true if the first set is a superset of the second set. Note, this procedure returns true if the\n# two sets are equal.\nfunction isSuperset(s: {T}, other: {T}) -> boolean;\nfunction isSupersetOfMut(s: {T}, other: mut {T}) -> boolean;\nfunction isMutSuperset(s: mut {T}, other: {T}) -> boolean;\nfunction isMutSupersetOfMut(s: mut {T}, other: mut {T}) -> boolean; # This method returns true if the first set is a subset of the second set. Note, this procedure returns true if the two\n# sets are equal.\nfunction isSubset(s: {T}, other: {T}) -> boolean;\nfunction isSubsetOfMut(s: {T}, other: mut {T}) -> boolean;\nfunction isMutSubset(s: mut {T}, other: {T}) -> boolean;\nfunction isMutSubsetOfMut(s: mut {T}, other: mut {T}) -> boolean; # Returns true if this set contains no elements.\nfunction isEmpty(s: {T}) -> boolean;\nfunction isEmptyForMut(s: mut {T}) -> boolean; # Removes the specified element from this set if it is present.\nfunction removeElem(s: mut {T}, elem: T) -> boolean; # Removes from this set all of its elements that are contained in the specified list.\n#\n# Returns: true if this set changed as a result of the call.\nfunction removeAll(s: mut {T}, elems: [T]) -> boolean;\nfunction removeAllFromMut(s: mut {T}, elems: mut [T]) -> boolean;\n# Removes from the first set all of its elements that are contained in the second set. This operation effectively\n# modifies the first set so that its value is the asymmetric set difference of the two sets.\n#\n# Returns: true if this set changed as a result of the call.\nfunction removeAllFromSet(s: mut {T}, elems: {T}) -> boolean;\nfunction removeAllFromMutSet(s: mut {T}, elems: mut {T}) -> boolean; # Removes all of the elements of this collection that satisfy the given predicate.\n#\n# Returns: true if any elements were removed.\nfunction removeIf(s: mut {T}, predicate: function boolean>) -> boolean; # Retains only the elements in this set that are contained in the specified list. In other words, removes from this set\n# all of its elements that are not contained in the specified list.\n#\n# Returns: true if this set changed as a result of the call.\nfunction retainAll(s: mut {T}, elems: [T]) -> boolean;\nfunction retainAllFromMut(s: mut {T}, elems: mut [T]) -> boolean;\n# Retains only the elements in the first set that are contained in the second set. In other words, removes from the\n# first set all of its elements that are not contained in the second set. This operation effectively modifies this set\n# so that its value is the intersection of the two sets.\n#\n# Returns: true if this set changed as a result of the call.\nfunction retainAllFromSet(s: mut {T}, elems: {T}) -> boolean;\nfunction retainAllFromMutSet(s: mut {T}, elems: mut {T}) -> boolean;","breadcrumbs":"Default Modules » sets » sets","id":"298","title":"sets"},"299":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. ########################################################################################################################\n# This file contains simple definitions of builtin types that come as part of Claro's stdlib. Very likely this will get\n# reorganized over time, for now it's a single centralized dumping ground.\n######################################################################################################################## atom Nothing atom OK\nnewtype Error : T newtype ParsedJson : struct { result: oneof>, rawJson: string\n}","breadcrumbs":"Default Modules » std » std","id":"299","title":"std"},"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 provides an easy-to-use abstraction to statically guarantee that programs are: Non-blocking Data-race free Deadlock free Optimally scheduled Scalable 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"},"300":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. # Simply exposing the functionality documented at the links below to Claro programs:\n# - https://docs.oracle.com/javase/8/docs/api/java/lang/String.html\n# - https://guava.dev/releases/31.1-jre/api/docs/com/google/common/base/Strings.html\n# TODO(steving) Make this api safe so that nothing can throw a runtime exception. atom NOT_FOUND function fromChar(c: char) -> string; function charAt(s: string, i: int) -> char; function commonPrefix(s: string, other: string) -> string;\nfunction commonSuffix(s: string, other: string) -> string; function compareTo(s: string, other: string) -> int;\nfunction compareToIgnoreCase(s: string, other: string) -> int; function concat(s: string, other: string) -> string; function contains(s: string, other: string) -> boolean; function endsWith(s: string, other: string) -> boolean; function equalsIgnoreCase(s: string, other: string) -> boolean; function indexOf(s: string, of: string) -> oneof;\nfunction indexOfFromIndex(s: string, of: string, from: int) -> oneof; function isEmpty(s: string) -> boolean; function join(delimiter: string, parts: [string]) -> string; function lastIndexOf(s: string, of: string) -> oneof;\nfunction lastIndexOfFromIndex(s: string, of: string, from: int) -> oneof; function matches(s: string, regex: string) -> boolean; # TODO(steving) Revisit this once Claro has support for chars. Should support configurable padding char.\nfunction padEnd(s: string, minLength: int) -> string;\nfunction padStart(s: string, minLength: int) -> string; function regionMatches(s: string, s_offset: int, other: string, o_offset: int, regionLen: int) -> boolean;\nfunction regionMatchesIgnoreCase(ignoreCase: boolean, s: string, s_offset: int, other: string, o_offset: int, regionLen: int) -> boolean; function repeated(s: string, count: int) -> string; function replace(s: string, target: string, replacement: string) -> string;\nfunction replaceAll(s: string, regex: string, replacement: string) -> string;\nfunction replaceFirst(s: string, regex: string, replacement: string) -> string; function split(s: string, regex: string) -> [string];\nfunction splitWithLimit(s: string, regex: string, limit: int) -> [string];\nfunction splitChars(s: string) -> [char]; function startsWith(s: string, other: string) -> boolean;\nfunction startsWithFromIndex(s: string, other: string, from: int) -> boolean; function substring(s: string, beginInclusive: int, endExclusive: int) -> string;\nfunction suffix(s: string, beginInclusive: int) -> string; function toLowerCase(s: string) -> string;\nfunction toUpperCase(s: string) -> string; function trim(s: string) -> string;","breadcrumbs":"Default Modules » strings » strings","id":"300","title":"strings"},"301":{"body":"Claro's StdLib Module Documentation Generation Is Still a WIP . This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time. opaque newtype StringBuilder provider create() -> StringBuilder; # Add anything to the end of the StringBuilder. It will be converted to its string representation automatically.\nfunction add(sb: StringBuilder, toAdd: T) -> StringBuilder;\nfunction build(sb: StringBuilder) -> string;","breadcrumbs":"Default Modules » string_builder » string_builder","id":"301","title":"string_builder"},"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":"Formatting strings is an incredibly common programming task, whether it be for the sake of debugging or for building full-fledged CLI programs. Claro attempts to simplify this process by providing syntax sugar for directly templating arbitrary expressions directly into a string. Note : At the moment, Claro only supports single-line strings, but multi-line strings are planned. Stay tuned for this in a future release. To take advantage of this, any expression can be formatted into a string by wrapping it in {...}. Fig 1: var s = \"!EXAMPLE!\";\nprint(\"prefix---{s}--suffix\"); provider foo() -> string { return \"WOW!\";\n} # Formatted expressions really are arbitrary expressions, you can even call\n# arbitrary procedures from them.\nprint(\"prefix---{foo()}---suffix\"); # Format strings can even be nested, though you should probably have a good\n# reason for doing this.\nprint(\"prefix---{\"inner+++{s}+++inner\"}---suffix\"); # You can also use multiple fmt arg expressions!\nprint(\"Name:\\t{getRandomName()}\\nAge:\\t{random::nextNonNegativeBoundedInt(random::forSeed(1), 20)}\"); provider getRandomName() -> string { # ...\n$$ var names = [\"Milo\", \"Millie\", \"Ruby\"];\n$$\n$$ random::forSeed(2)\n$$ |> random::nextNonNegativeBoundedInt(^, 3)\n$$ |> var ind = ^;\n$$\n$$ return names[ind];\n} Output: prefix---!EXAMPLE!--suffix\nprefix---WOW!---suffix\nprefix---inner+++!EXAMPLE!+++inner---suffix\nName:\tMillie\nAge:\t5","breadcrumbs":"Common Programming Concepts » String Formatting » String Formatting","id":"48","title":"String Formatting"},"49":{"body":"While Format Strings are very convenient, this does have the consequence of giving curly-braces a special significance in string literals. So, to type a string literal that contains the { char, you must escape it using \\{, for example: Fig 2: print(\"This string has \\{literal \\{curlies} in it}\"); Output: This string has {literal {curlies} in it}","breadcrumbs":"Common Programming Concepts » String Formatting » Escaping Curly-Braces in Strings","id":"49","title":"Escaping Curly-Braces in Strings"},"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":"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":"50","title":"Control Flow"},"51":{"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":"51","title":"If-Else"},"52":{"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":"52","title":"While Loops"},"53":{"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":"53","title":"Exiting a While Loop Early"},"54":{"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":"54","title":"Skipping to the Next Iteration of the While Loop"},"55":{"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":"55","title":"For Loops"},"56":{"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":"56","title":"For Loop Over Lists"},"57":{"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":"57","title":"For Loop Over Sets"},"58":{"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":"58","title":"For Loop Over Maps"},"59":{"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":"59","title":"Note 1 :"},"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":"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":"60","title":"Note 2 :"},"61":{"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":"61","title":"Exiting a For Loop Early"},"62":{"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":"62","title":"Skipping to the Next Iteration of the For Loop"},"63":{"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...\nRepeating...","breadcrumbs":"Common Programming Concepts » Control Flow » Repeat » Repeat Loops","id":"63","title":"Repeat Loops"},"64":{"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":"64","title":"Pipes"},"65":{"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":"65","title":"Textually Linear Data Flow"},"66":{"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":"66","title":"Pattern Matching"},"67":{"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":"67","title":"\"Default\" Case"},"68":{"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":"68","title":"Multi-Statement Cases"},"69":{"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":"69","title":"Patterns Must Not Reference Existing Variables"},"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! 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":"70","title":"Matching Structured Data"},"71":{"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":"71","title":"Matching Arbitrarily Nested Structured Types"},"72":{"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":"72","title":"Wildcard Patterns"},"73":{"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":"73","title":"Case Ordering and Wildcards"},"74":{"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":"74","title":"Static Exhaustiveness Checks"},"75":{"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":"75","title":"Non-Trivial Exhaustiveness Checks Example"},"76":{"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":"76","title":"Collection Comprehension"},"77":{"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":"77","title":"List Comprehension"},"78":{"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":"78","title":"Set Comprehension"},"79":{"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":"79","title":"Map Comprehension"},"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":"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":"80","title":"Comprehension is More Than Syntax Sugar"},"81":{"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":"81","title":"Types"},"82":{"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":"82","title":"Builtin Collections"},"83":{"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":"83","title":"Ad-Hoc Declarations"},"84":{"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":"84","title":"Mutability"},"85":{"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":"85","title":"Mutability Annotations are Shallow"},"86":{"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":"86","title":"Data Race Safety via Deep Immutability"},"87":{"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":"87","title":"Lists"},"88":{"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":"88","title":"Accessing List Elements"},"89":{"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":"89","title":"Mutable List Element Reassignment"},"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":"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":"90","title":"Index-Out-Of-Bounds"},"91":{"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":"91","title":"Stdlib lists Module"},"92":{"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":"92","title":"Empty Lists"},"93":{"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":"93","title":"Empty List Type Inference By Later Usage (Will Never Be Supported)"},"94":{"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":"94","title":"Sets"},"95":{"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":"95","title":"Adding Elements to a Mutable Set"},"96":{"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":"96","title":"Maps"},"97":{"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":"97","title":"Checking if a Key Exists"},"98":{"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":"98","title":"Iterating Over the Entries of a Map"},"99":{"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":"99","title":"Stdlib maps Module"}},"length":302,"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":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":33,"docs":{"101":{"tf":1.0},"102":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"170":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"248":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"87":{"tf":1.0},"90":{"tf":1.4142135623730951}},"}":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.0},"270":{"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":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.0},"270":{"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":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"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":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"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":{}}}},"df":0,"docs":{}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"175":{"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":{"137":{"tf":1.0}}},"3":{"5":{"df":0,"docs":{},"e":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{".":{"5":{"5":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{".":{"0":{"df":1,"docs":{"184":{"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":{"149":{"tf":1.0},"184":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"df":6,"docs":{"131":{"tf":1.0},"149":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"51":{"tf":1.4142135623730951},"72":{"tf":1.0}},"x":{"1":{"0":{"0":{"0":{"df":0,"docs":{},"x":{"1":{"0":{"0":{"0":{"df":1,"docs":{"184":{"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":30,"docs":{"108":{"tf":2.449489742783178},"109":{"tf":3.1622776601683795},"123":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"155":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"179":{"tf":2.23606797749979},"197":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"95":{"tf":1.0}},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"1":{"1":{"1":{"1":{"1":{"1":{"1":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"87":{"tf":1.0}}},"df":2,"docs":{"139":{"tf":1.0},"173":{"tf":1.0}}},"2":{"df":1,"docs":{"94":{"tf":1.0}}},"5":{".":{"0":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"141":{"tf":1.0},"146":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"45":{"tf":1.0}}},":":{"1":{"df":2,"docs":{"291":{"tf":1.0},"293":{"tf":1.0}}},"_":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"df":139,"docs":{"10":{"tf":1.0},"101":{"tf":2.0},"102":{"tf":1.7320508075688772},"103":{"tf":2.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"113":{"tf":1.0},"114":{"tf":2.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"132":{"tf":2.23606797749979},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":2.0},"15":{"tf":1.4142135623730951},"150":{"tf":2.449489742783178},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.449489742783178},"179":{"tf":2.0},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":2.0},"186":{"tf":2.8284271247461903},"187":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":3.0},"209":{"tf":1.0},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"221":{"tf":1.4142135623730951},"223":{"tf":1.0},"228":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"253":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.0},"261":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":2.8284271247461903},"74":{"tf":1.4142135623730951},"75":{"tf":3.4641016151377544},"77":{"tf":2.23606797749979},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.4142135623730951},"83":{"tf":2.449489742783178},"84":{"tf":2.23606797749979},"85":{"tf":2.449489742783178},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}},"m":{"b":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"*":{"a":{"df":1,"docs":{"114":{"tf":1.0}}},"b":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"7":{"3":{"9":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":3,"docs":{"109":{"tf":1.0},"158":{"tf":1.0},"48":{"tf":1.0}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"df":1,"docs":{"180":{"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":{"96":{"tf":1.7320508075688772}}},"9":{"df":4,"docs":{"106":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"207":{"tf":2.449489742783178},"96":{"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":112,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"16":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"170":{"tf":1.0},"175":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"178":{"tf":2.23606797749979},"179":{"tf":1.0},"180":{"tf":2.0},"181":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"187":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"193":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"224":{"tf":1.0},"228":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.7320508075688772},"288":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"71":{"tf":1.7320508075688772},"73":{"tf":3.4641016151377544},"74":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"3":{".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"158":{"tf":1.0}}},"2":{"df":2,"docs":{"155":{"tf":1.0},"45":{"tf":1.0}}},"3":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"df":86,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":2.0},"121":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"164":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.0},"180":{"tf":2.0},"181":{"tf":1.0},"183":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"19":{"tf":1.0},"193":{"tf":1.0},"197":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"228":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":2.23606797749979},"75":{"tf":3.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0}},"r":{"d":{"df":2,"docs":{"215":{"tf":1.0},"252":{"tf":1.0}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"115":{"tf":1.0}}},"df":0,"docs":{}},"df":53,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"195":{"tf":1.0},"20":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"99":{"tf":1.0}}},"5":{"0":{"df":2,"docs":{"231":{"tf":1.0},"257":{"tf":1.0}}},"4":{"3":{"2":{"df":2,"docs":{"210":{"tf":1.0},"257":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":43,"docs":{"103":{"tf":1.0},"123":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"165":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"189":{"tf":1.0},"197":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"248":{"tf":1.4142135623730951},"251":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"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":{"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"45":{"tf":1.0}}},"6":{"df":1,"docs":{"51":{"tf":2.0}}},"df":24,"docs":{"103":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.4142135623730951},"158":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"197":{"tf":1.0},"206":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"228":{"tf":1.0},"26":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}}},"7":{"5":{"4":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":13,"docs":{"124":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"172":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.7320508075688772}}},"8":{"0":{"8":{"0":{"df":4,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"139":{"tf":1.0},"152":{"tf":1.4142135623730951},"172":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"262":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.0},"29":{"tf":1.0},"52":{"tf":1.0}}},"9":{"9":{"9":{"9":{"9":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"103":{"tf":2.0},"179":{"tf":1.4142135623730951},"187":{"tf":2.8284271247461903},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}},"df":7,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"172":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"52":{"tf":1.0},"54":{"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":{"74":{"tf":1.4142135623730951}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"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":{"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":{}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"74":{"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":25,"docs":{"108":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"154":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.0},"219":{"tf":1.0},"235":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"293":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":3.872983346207417},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"263":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{"_":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":2,"docs":{"167":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"a":{"df":1,"docs":{"179":{"tf":2.23606797749979}}},"df":0,"docs":{}},"b":{"c":{"d":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"107":{"tf":1.4142135623730951},"153":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"255":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0}}}},"o":{"df":0,"docs":{},"v":{"df":53,"docs":{"110":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"197":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"235":{"tf":1.4142135623730951},"241":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.7320508075688772},"263":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"279":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"51":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"s":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"115":{"tf":1.0},"157":{"tf":1.0},"272":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"236":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":2.6457513110645907},"279":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":13,"docs":{"134":{"tf":1.0},"156":{"tf":1.7320508075688772},"170":{"tf":1.0},"173":{"tf":1.0},"181":{"tf":1.0},"217":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"267":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":26,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"123":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.7320508075688772},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.0},"214":{"tf":1.0},"237":{"tf":1.0},"269":{"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":4,"docs":{"169":{"tf":1.0},"173":{"tf":1.0},"190":{"tf":1.0},"243":{"tf":1.0}}}}}}}},"r":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"222":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"155":{"tf":2.6457513110645907},"289":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"155":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"213":{"tf":1.0},"39":{"tf":1.0}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":10,"docs":{"108":{"tf":1.0},"160":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.7320508075688772},"259":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"36":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"t":{"df":2,"docs":{"239":{"tf":1.0},"267":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"284":{"tf":1.0},"288":{"tf":3.3166247903554},"291":{"tf":1.7320508075688772},"293":{"tf":1.7320508075688772},"298":{"tf":1.7320508075688772}}}},"v":{"df":3,"docs":{"243":{"tf":1.0},"263":{"tf":1.0},"7":{"tf":2.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":64,"docs":{"102":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"127":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":2.23606797749979},"173":{"tf":2.0},"174":{"tf":1.4142135623730951},"180":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"201":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"213":{"tf":1.7320508075688772},"215":{"tf":1.0},"216":{"tf":1.0},"22":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":2.6457513110645907},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"273":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"231":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":5,"docs":{"134":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"192":{"tf":1.0},"193":{"tf":1.0}}}},"x":{"df":2,"docs":{"141":{"tf":1.0},"146":{"tf":1.0}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":2,"docs":{"298":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":2,"docs":{"291":{"tf":1.0},"91":{"tf":1.0}}},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}},"s":{"b":{"df":1,"docs":{"301":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":18,"docs":{"135":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"166":{"tf":1.0},"169":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.7320508075688772},"30":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"165":{"tf":1.0},"190":{"tf":1.0},"210":{"tf":1.0},"257":{"tf":1.0},"267":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"66":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.0},"239":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":2,"docs":{"109":{"tf":2.449489742783178},"197":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":21,"docs":{"116":{"tf":1.0},"124":{"tf":1.0},"140":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"170":{"tf":1.0},"178":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"268":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":14,"docs":{"113":{"tf":1.0},"164":{"tf":1.0},"195":{"tf":1.0},"207":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"39":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"83":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"194":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"138":{"tf":1.4142135623730951},"147":{"tf":1.0},"164":{"tf":1.0},"235":{"tf":1.0},"248":{"tf":1.0},"265":{"tf":1.4142135623730951},"271":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"144":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.4142135623730951},"229":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"39":{"tf":1.0},"48":{"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":2,"docs":{"149":{"tf":1.0},"293":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":11,"docs":{"109":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"184":{"tf":1.0},"202":{"tf":1.0},"240":{"tf":1.0},"274":{"tf":1.0},"64":{"tf":2.0},"65":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"187":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.0},"66":{"tf":1.0}}}}}}},"df":4,"docs":{"106":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"207":{"tf":3.605551275463989},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"280":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":8,"docs":{"113":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"198":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"d":{"df":1,"docs":{"209":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":4,"docs":{"215":{"tf":1.0},"242":{"tf":1.0},"264":{"tf":1.0},"281":{"tf":1.0}}}},"l":{"a":{"df":1,"docs":{"288":{"tf":1.0}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"150":{"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":{"230":{"tf":1.0}}}}}}}}},"i":{"a":{"df":13,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":2.0},"130":{"tf":2.449489742783178},"200":{"tf":1.0},"203":{"tf":2.23606797749979},"204":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}},"s":{"df":7,"docs":{"114":{"tf":1.4142135623730951},"115":{"tf":2.0},"116":{"tf":2.0},"117":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"131":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"45":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":46,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"137":{"tf":1.0},"144":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":2.0},"190":{"tf":1.0},"194":{"tf":1.4142135623730951},"201":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"207":{"tf":2.0},"208":{"tf":2.0},"209":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"254":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"127":{"tf":1.0},"149":{"tf":1.0},"163":{"tf":1.0},"177":{"tf":1.0},"193":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0}},"g":{"df":3,"docs":{"156":{"tf":1.0},"217":{"tf":1.4142135623730951},"255":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":24,"docs":{"119":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"205":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":2.0},"293":{"tf":1.7320508075688772},"298":{"tf":2.23606797749979},"69":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"95":{"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":{"235":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"117":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.0},"291":{"tf":1.4142135623730951},"64":{"tf":1.0},"77":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"122":{"tf":1.0},"220":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":11,"docs":{"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"244":{"tf":1.0},"265":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":2.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":8,"docs":{"139":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"176":{"tf":2.449489742783178},"177":{"tf":2.449489742783178},"92":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"115":{"tf":1.0},"229":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":4,"docs":{"207":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"55":{"tf":1.0}}}},"y":{"df":0,"docs":{},"z":{"df":3,"docs":{"231":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"270":{"tf":1.7320508075688772},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"278":{"tf":1.0}}}}},"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":5,"docs":{"266":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0}}}}},"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":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"279":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"279":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"266":{"tf":2.449489742783178},"267":{"tf":2.6457513110645907},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"274":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951}},"s":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"266":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}},"df":9,"docs":{"267":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"272":{"tf":2.8284271247461903},"273":{"tf":2.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"277":{"tf":1.7320508075688772},"278":{"tf":2.6457513110645907},"279":{"tf":4.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":23,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.4142135623730951},"131":{"tf":2.0},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.4142135623730951},"153":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.0},"180":{"tf":1.0},"243":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"298":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0}}},"y":{"df":1,"docs":{"208":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"135":{"tf":1.0},"147":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":21,"docs":{"112":{"tf":1.0},"122":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"199":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.0},"255":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"151":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"195":{"tf":1.0},"206":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"277":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":9,"docs":{"147":{"tf":1.0},"169":{"tf":1.0},"217":{"tf":1.0},"229":{"tf":1.0},"255":{"tf":1.0},"264":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.0},"67":{"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":7,"docs":{"183":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"243":{"tf":1.0},"270":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"}":{"/":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"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":{}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"279":{"tf":1.7320508075688772}}}}}}}}},"df":29,"docs":{"166":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.4142135623730951},"194":{"tf":1.4142135623730951},"198":{"tf":2.23606797749979},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":2.0},"227":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"tf":2.0},"230":{"tf":1.0},"243":{"tf":1.0},"265":{"tf":1.0},"266":{"tf":2.449489742783178},"267":{"tf":3.872983346207417},"269":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.4142135623730951},"300":{"tf":1.0},"36":{"tf":2.23606797749979}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"176":{"tf":1.0},"221":{"tf":1.0},"291":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":6,"docs":{"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"33":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"1":{"tf":1.0},"244":{"tf":1.0},"291":{"tf":1.0}}},"df":6,"docs":{"101":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.0},"291":{"tf":1.0},"75":{"tf":1.0}}},"y":{"(":{"1":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"<":{"a":{">":{"(":{"a":{"df":1,"docs":{"139":{"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":{"146":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"1":{"0":{"df":1,"docs":{"146":{"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":1,"docs":{"279":{"tf":1.0}}},"df":15,"docs":{"160":{"tf":1.0},"169":{"tf":1.0},"207":{"tf":1.0},"216":{"tf":1.0},"224":{"tf":1.4142135623730951},"239":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.7320508075688772},"264":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"167":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":1.0},"228":{"tf":1.0},"59":{"tf":1.0}}}}},"v":{"df":1,"docs":{"207":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"107":{"tf":1.0},"184":{"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":24,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.7320508075688772},"4":{"tf":1.0},"48":{"tf":1.7320508075688772},"69":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"119":{"tf":1.0},"182":{"tf":1.0},"220":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"72":{"tf":2.8284271247461903}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"130":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"243":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"'":{"df":1,"docs":{"239":{"tf":1.0}}},"(":{"df":2,"docs":{"138":{"tf":1.0},"248":{"tf":1.0}}},"1":{"df":1,"docs":{"114":{"tf":1.0}}},"2":{"df":2,"docs":{"114":{"tf":1.7320508075688772},"156":{"tf":1.0}}},"c":{"df":1,"docs":{"232":{"tf":1.0}}},"df":22,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.0},"139":{"tf":1.0},"146":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"160":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.0},"175":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"220":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"48":{"tf":1.0}},"s":{"/":{"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":1,"docs":{"167":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"137":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"163":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":16,"docs":{"124":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":2.0},"147":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.449489742783178},"173":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"239":{"tf":1.4142135623730951},"247":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"151":{"tf":1.0},"177":{"tf":1.0},"209":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"144":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.0},"276":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"233":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"196":{"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":9,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"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":{},"i":{"d":{"df":2,"docs":{"172":{"tf":1.0},"263":{"tf":1.0}}},"df":0,"docs":{}},"k":{"df":5,"docs":{"157":{"tf":1.0},"164":{"tf":1.0},"230":{"tf":1.4142135623730951},"269":{"tf":1.0},"81":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"209":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"102":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"254":{"tf":1.0}},"e":{"d":{">":{"(":{"df":0,"docs":{},"o":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"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":{"138":{"tf":1.4142135623730951}}}}}}}}}},"<":{"a":{"df":1,"docs":{"138":{"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":9,"docs":{"109":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":1.0},"154":{"tf":1.4142135623730951},"219":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"156":{"tf":1.0},"255":{"tf":1.0},"293":{"tf":3.7416573867739413},"68":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"166":{"tf":1.0},"196":{"tf":1.4142135623730951},"33":{"tf":1.0},"84":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"298":{"tf":1.0}}}}}}},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"233":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":20,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"175":{"tf":1.0},"202":{"tf":2.6457513110645907},"204":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"295":{"tf":1.0},"297":{"tf":2.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"74":{"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":{"112":{"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":16,"docs":{"103":{"tf":1.4142135623730951},"119":{"tf":1.0},"137":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"230":{"tf":1.0},"258":{"tf":1.0},"288":{"tf":2.6457513110645907},"293":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0},"79":{"tf":1.0},"81":{"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":{"246":{"tf":1.0}}}},"df":1,"docs":{"246":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"220":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"o":{"df":5,"docs":{"11":{"tf":1.0},"189":{"tf":1.0},"254":{"tf":1.0},"258":{"tf":1.0},"278":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":18,"docs":{"109":{"tf":2.0},"121":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.7320508075688772},"180":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"220":{"tf":1.4142135623730951},"221":{"tf":1.0},"233":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"273":{"tf":1.0},"284":{"tf":1.0},"301":{"tf":1.0},"80":{"tf":1.0}}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"156":{"tf":1.0},"167":{"tf":1.0},"189":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.23606797749979},"25":{"tf":1.4142135623730951},"265":{"tf":1.0},"268":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":16,"docs":{"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"160":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0},"243":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"298":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"183":{"tf":1.0}}},"y":{"df":4,"docs":{"130":{"tf":1.0},"172":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"155":{"tf":1.0},"289":{"tf":1.4142135623730951}}}},"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":{"188":{"tf":1.0}}}}}},"df":6,"docs":{"233":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"215":{"tf":1.0},"236":{"tf":1.0},"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":3,"docs":{"157":{"tf":1.0},"256":{"tf":1.0},"275":{"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":{"64":{"tf":1.4142135623730951}}}}}}}}},"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"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":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"206":{"tf":2.0},"245":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"135":{"tf":1.0},"145":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"245":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"168":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.0}}}}}},"1":{"0":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}},"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":{"245":{"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":{"245":{"tf":1.0},"246":{"tf":1.0}}}}}},"a":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":2.449489742783178}}},"b":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":1.4142135623730951}}},"c":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":2.0}}},"df":6,"docs":{"120":{"tf":1.4142135623730951},"168":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"232":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"232":{"tf":2.0}}}},"s":{"df":0,"docs":{},"e":{"df":19,"docs":{"139":{"tf":1.0},"155":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":1.0},"219":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"254":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"278":{"tf":1.0},"3":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"h":{"df":1,"docs":{"262":{"tf":1.0}}},"i":{"c":{"df":7,"docs":{"201":{"tf":1.0},"220":{"tf":1.0},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"45":{"tf":1.0}}},"df":1,"docs":{"174":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}},"z":{"df":1,"docs":{"120":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"'":{"df":9,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"222":{"tf":1.7320508075688772},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"268":{"tf":1.0},"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":37,"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},"189":{"tf":1.0},"19":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"196":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"217":{"tf":2.23606797749979},"22":{"tf":1.0},"220":{"tf":1.4142135623730951},"222":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"260":{"tf":1.7320508075688772},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":2.449489742783178},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.4142135623730951},"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":{"179":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"158":{"tf":1.0}},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":13,"docs":{"114":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"154":{"tf":2.0},"155":{"tf":2.449489742783178},"184":{"tf":2.0},"289":{"tf":2.23606797749979},"294":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"97":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":31,"docs":{"131":{"tf":1.0},"182":{"tf":1.4142135623730951},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"213":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.4142135623730951},"259":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.7320508075688772},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}}}},"df":31,"docs":{"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"45":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"156":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"206":{"tf":1.0},"212":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0},"288":{"tf":1.7320508075688772},"50":{"tf":1.0},"64":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"131":{"tf":1.0},"194":{"tf":1.4142135623730951},"25":{"tf":1.0},"260":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"158":{"tf":1.0},"160":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0},"59":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"244":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"107":{"tf":1.0}}},"v":{"df":2,"docs":{"175":{"tf":1.0},"187":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":63,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.4142135623730951},"228":{"tf":1.0},"231":{"tf":1.4142135623730951},"238":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"269":{"tf":1.0},"300":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"242":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"226":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"160":{"tf":1.0},"163":{"tf":1.0},"203":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"277":{"tf":1.0}}}}},"t":{"df":3,"docs":{"153":{"tf":1.0},"172":{"tf":1.0},"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"129":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"231":{"tf":1.0},"269":{"tf":1.0},"93":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":26,"docs":{"107":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.0},"198":{"tf":1.4142135623730951},"202":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"238":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":8,"docs":{"152":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.0},"201":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"236":{"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":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"5":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"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":{"128":{"tf":1.0}}}}},"d":{"df":2,"docs":{"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":8,"docs":{"156":{"tf":1.0},"157":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.7320508075688772},"77":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.4142135623730951}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":27,"docs":{"140":{"tf":1.0},"188":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"221":{"tf":1.0},"23":{"tf":1.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":2.6457513110645907},"245":{"tf":2.449489742783178},"246":{"tf":2.449489742783178},"247":{"tf":3.0},"248":{"tf":4.242640687119285},"249":{"tf":2.449489742783178},"250":{"tf":1.4142135623730951},"251":{"tf":3.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"297":{"tf":3.872983346207417},"3":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"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":{"249":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"248":{"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":{"249":{"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":{"247":{"tf":1.0}}},"w":{"df":1,"docs":{"277":{"tf":1.0}},"n":{"df":1,"docs":{"270":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"273":{"tf":1.0}}}}},"o":{"b":{"df":2,"docs":{"247":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"147":{"tf":1.0},"156":{"tf":1.0},"231":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"237":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"115":{"tf":1.0},"198":{"tf":1.0},"215":{"tf":1.0},"263":{"tf":1.4142135623730951},"4":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"86":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":26,"docs":{"108":{"tf":1.0},"132":{"tf":1.4142135623730951},"156":{"tf":1.0},"173":{"tf":1.4142135623730951},"180":{"tf":1.0},"220":{"tf":1.0},"235":{"tf":1.0},"247":{"tf":1.4142135623730951},"248":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"267":{"tf":1.0},"283":{"tf":1.4142135623730951},"284":{"tf":2.0},"288":{"tf":2.0},"289":{"tf":1.0},"291":{"tf":4.123105625617661},"293":{"tf":2.449489742783178},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":2.449489742783178},"298":{"tf":5.477225575051661},"300":{"tf":3.1622776601683795},"45":{"tf":1.7320508075688772},"70":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"221":{"tf":1.0}},"h":{"df":20,"docs":{"158":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":2.0},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"208":{"tf":1.0},"212":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"247":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"291":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0},"77":{"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":5,"docs":{"130":{"tf":1.4142135623730951},"186":{"tf":1.0},"263":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"208":{"tf":1.0}}}}},"df":6,"docs":{"101":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"175":{"tf":1.0},"244":{"tf":1.0},"291":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"168":{"tf":1.7320508075688772},"170":{"tf":3.0},"171":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"x":{"df":10,"docs":{"178":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":2.0},"221":{"tf":1.0},"262":{"tf":1.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":{"195":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"195":{"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":{"193":{"tf":1.0},"194":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"199":{"tf":1.0},"49":{"tf":1.4142135623730951},"51":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"108":{"tf":1.0},"110":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"188":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":2,"docs":{"15":{"tf":1.0},"172":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"256":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"107":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"172":{"tf":1.0}},"n":{"df":2,"docs":{"140":{"tf":1.0},"243":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"g":{"df":13,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"185":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":2.0},"188":{"tf":1.0},"209":{"tf":1.0},"237":{"tf":1.0},"246":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":3,"docs":{"221":{"tf":3.605551275463989},"243":{"tf":1.0},"252":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"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":{}}}},"i":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"301":{"tf":1.0}}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"25":{"tf":1.0}}}}}},"df":63,"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},"169":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":2.6457513110645907},"190":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.7320508075688772},"196":{"tf":2.23606797749979},"197":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"206":{"tf":1.4142135623730951},"218":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"229":{"tf":1.7320508075688772},"23":{"tf":2.0},"24":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"259":{"tf":2.23606797749979},"260":{"tf":3.3166247903554},"261":{"tf":1.7320508075688772},"262":{"tf":1.4142135623730951},"263":{"tf":2.6457513110645907},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":2.0},"269":{"tf":1.4142135623730951},"270":{"tf":2.449489742783178},"271":{"tf":2.23606797749979},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.7320508075688772},"277":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.7320508075688772},"281":{"tf":1.4142135623730951},"286":{"tf":1.0},"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},"48":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"11":{"tf":1.0},"207":{"tf":1.0},"221":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"253":{"tf":1.0},"263":{"tf":1.0},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"80":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":33,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"153":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.0},"184":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0},"254":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.0},"299":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"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},"93":{"tf":1.0}}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"189":{"tf":1.4142135623730951},"25":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}}},"z":{"df":0,"docs":{},"z":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"168":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"%":{"df":1,"docs":{"170":{"tf":1.0}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"df":3,"docs":{"168":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772}}}}},"z":{"df":0,"docs":{},"l":{"df":2,"docs":{"270":{"tf":1.7320508075688772},"271":{"tf":1.0}},"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":{"139":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"11":{"tf":1.0},"190":{"tf":1.0},"196":{"tf":1.4142135623730951},"242":{"tf":2.6457513110645907},"243":{"tf":1.0},"260":{"tf":1.0}},"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":1,"docs":{"243":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"242":{"tf":1.0},"243":{"tf":1.0}}}}}}},"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":{"150":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":68,"docs":{"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"139":{"tf":1.0},"142":{"tf":1.7320508075688772},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":2.23606797749979},"162":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"164":{"tf":2.449489742783178},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.7320508075688772},"175":{"tf":1.0},"176":{"tf":2.6457513110645907},"177":{"tf":3.0},"180":{"tf":1.0},"186":{"tf":1.0},"188":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"214":{"tf":1.0},"221":{"tf":1.7320508075688772},"230":{"tf":1.0},"232":{"tf":1.7320508075688772},"233":{"tf":2.23606797749979},"234":{"tf":1.0},"238":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":2.23606797749979},"246":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":2.6457513110645907},"254":{"tf":1.0},"256":{"tf":1.4142135623730951},"257":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.7320508075688772},"291":{"tf":2.449489742783178},"293":{"tf":1.7320508075688772},"298":{"tf":2.8284271247461903},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"153":{"tf":1.7320508075688772},"163":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"153":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":8,"docs":{"102":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"173":{"tf":1.0},"222":{"tf":1.0},"249":{"tf":1.0},"284":{"tf":1.0},"288":{"tf":1.0}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"288":{"tf":4.898979485566356}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"263":{"tf":1.0}}}}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"175":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"252":{"tf":1.0},"272":{"tf":1.0},"280":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"c":{"df":1,"docs":{"291":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":2.0},"149":{"tf":2.0},"150":{"tf":1.4142135623730951},"241":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"267":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"150":{"tf":1.0},"174":{"tf":1.0},"228":{"tf":1.0},"237":{"tf":1.0},"252":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"147":{"tf":1.0}}}}},"s":{"c":{"a":{"d":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":49,"docs":{"108":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":2.23606797749979},"113":{"tf":1.7320508075688772},"124":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":2.449489742783178},"154":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.0},"196":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":2.0},"221":{"tf":1.0},"224":{"tf":1.4142135623730951},"235":{"tf":1.0},"242":{"tf":1.0},"250":{"tf":1.4142135623730951},"255":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.23606797749979},"36":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.449489742783178},"68":{"tf":2.449489742783178},"69":{"tf":3.605551275463989},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"72":{"tf":2.23606797749979},"73":{"tf":3.872983346207417},"74":{"tf":3.7416573867739413},"75":{"tf":4.69041575982343},"82":{"tf":1.0}}},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"137":{"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":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"102":{"tf":2.23606797749979},"127":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"177":{"tf":1.0}}}},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{"]":{"df":0,"docs":{},"}":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"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":{"267":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"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":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"267":{"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":{}},"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":2.0},"208":{"tf":1.0},"75":{"tf":1.0}}}},"df":9,"docs":{"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"140":{"tf":1.0},"278":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"147":{"tf":1.0},"177":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"115":{"tf":1.0},"224":{"tf":1.0},"230":{"tf":1.0}}}}}}}},"df":20,"docs":{"139":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":3.1622776601683795},"170":{"tf":1.0},"177":{"tf":1.4142135623730951},"232":{"tf":1.0},"256":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"220":{"tf":1.0},"299":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"176":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"225":{"tf":1.4142135623730951},"226":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.7320508075688772},"282":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"173":{"tf":1.0},"206":{"tf":1.0},"234":{"tf":1.0},"246":{"tf":1.0},"65":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"74":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":24,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0},"190":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.4142135623730951},"280":{"tf":1.0},"291":{"tf":2.0},"293":{"tf":2.449489742783178},"298":{"tf":2.449489742783178},"45":{"tf":1.0},"47":{"tf":1.0},"73":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"209":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"199":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}},"df":7,"docs":{"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"199":{"tf":1.4142135623730951},"203":{"tf":1.0},"300":{"tf":2.23606797749979},"45":{"tf":1.7320508075688772},"49":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"=":{"\\":{"\"":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":22,"docs":{"108":{"tf":2.23606797749979},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"112":{"tf":1.0},"117":{"tf":1.0},"15":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"291":{"tf":1.4142135623730951},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"94":{"tf":1.0},"97":{"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":{"180":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"r":{"df":1,"docs":{"242":{"tf":1.0}}}},"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":{"235":{"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":{"128":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"p":{"df":1,"docs":{"279":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":7,"docs":{"12":{"tf":1.0},"131":{"tf":1.0},"151":{"tf":1.0},"194":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"150":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0}},"n":{"df":4,"docs":{"194":{"tf":1.0},"195":{"tf":1.0},"228":{"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":{"65":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"214":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"v":{"df":2,"docs":{"188":{"tf":1.0},"241":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"184":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"133":{"tf":1.0},"185":{"tf":1.0}}}}},"o":{"'":{"df":87,"docs":{"111":{"tf":1.0},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.7320508075688772},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"211":{"tf":1.0},"214":{"tf":1.7320508075688772},"215":{"tf":1.0},"22":{"tf":1.0},"222":{"tf":1.4142135623730951},"228":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.7320508075688772},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":2.0},"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}},"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"278":{"tf":2.0},"279":{"tf":1.4142135623730951},"280":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":20,"docs":{"18":{"tf":1.0},"189":{"tf":1.7320508075688772},"197":{"tf":1.4142135623730951},"206":{"tf":2.0},"215":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"27":{"tf":1.0},"279":{"tf":1.4142135623730951},"281":{"tf":1.0},"30":{"tf":2.0},"33":{"tf":1.0},"37":{"tf":1.7320508075688772}}},"y":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"212":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":25,"docs":{"18":{"tf":1.0},"189":{"tf":1.0},"195":{"tf":2.0},"196":{"tf":1.0},"199":{"tf":1.0},"204":{"tf":1.7320508075688772},"206":{"tf":2.0},"215":{"tf":1.4142135623730951},"223":{"tf":1.4142135623730951},"224":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"226":{"tf":1.4142135623730951},"227":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":2.0},"267":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.0},"286":{"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":5,"docs":{"192":{"tf":1.0},"198":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":176,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":1.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"144":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"15":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":2.0},"17":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":2.0},"173":{"tf":2.0},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":2.23606797749979},"180":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"189":{"tf":1.0},"19":{"tf":1.0},"190":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"199":{"tf":1.4142135623730951},"2":{"tf":1.0},"201":{"tf":1.4142135623730951},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"22":{"tf":1.0},"220":{"tf":2.23606797749979},"221":{"tf":2.23606797749979},"222":{"tf":1.0},"228":{"tf":2.0},"230":{"tf":1.4142135623730951},"231":{"tf":2.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"244":{"tf":1.4142135623730951},"245":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"25":{"tf":1.7320508075688772},"252":{"tf":2.0},"254":{"tf":1.7320508075688772},"257":{"tf":2.23606797749979},"259":{"tf":1.4142135623730951},"260":{"tf":2.449489742783178},"262":{"tf":1.4142135623730951},"263":{"tf":2.449489742783178},"264":{"tf":2.449489742783178},"266":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.4142135623730951},"281":{"tf":1.4142135623730951},"284":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"3":{"tf":1.0},"300":{"tf":1.4142135623730951},"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.4142135623730951},"50":{"tf":1.7320508075688772},"55":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":2.23606797749979},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"94":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":2,"docs":{"293":{"tf":1.4142135623730951},"298":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"’":{"df":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":19,"docs":{"144":{"tf":1.0},"146":{"tf":1.7320508075688772},"169":{"tf":1.0},"170":{"tf":2.449489742783178},"172":{"tf":1.0},"2":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.4142135623730951},"274":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"83":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"128":{"tf":1.0},"34":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}},"r":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"115":{"tf":1.0},"258":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"48":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":2.23606797749979}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":8,"docs":{"163":{"tf":1.0},"173":{"tf":1.0},"197":{"tf":1.0},"235":{"tf":1.0},"241":{"tf":1.0},"267":{"tf":1.0},"55":{"tf":1.0},"68":{"tf":1.0}},"r":{"df":1,"docs":{"230":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"147":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"196":{"tf":1.0},"241":{"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":{"150":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"150":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"222":{"tf":1.0}}}}}}}},"m":{"d":{"df":4,"docs":{"262":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"222":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":7,"docs":{"112":{"tf":1.0},"131":{"tf":1.0},"222":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"266":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":55,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.7320508075688772},"130":{"tf":1.0},"131":{"tf":2.0},"137":{"tf":1.4142135623730951},"142":{"tf":1.0},"147":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"2":{"tf":1.0},"205":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"232":{"tf":1.4142135623730951},"237":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"246":{"tf":1.0},"247":{"tf":1.4142135623730951},"259":{"tf":1.4142135623730951},"260":{"tf":2.0},"261":{"tf":1.7320508075688772},"263":{"tf":2.0},"264":{"tf":2.449489742783178},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":3.0},"277":{"tf":1.4142135623730951},"286":{"tf":1.0},"36":{"tf":1.0},"50":{"tf":1.7320508075688772},"6":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"93":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"d":{"df":1,"docs":{"160":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"180":{"tf":1.0},"186":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"222":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"80":{"tf":1.0}},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"188":{"tf":1.0}}},"y":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"188":{"tf":1.0}}}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.0},"267":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"126":{"tf":1.0},"83":{"tf":2.23606797749979}},"l":{"df":1,"docs":{"184":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":2,"docs":{"133":{"tf":1.0},"93":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.0},"156":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"178":{"tf":1.0},"181":{"tf":1.0},"221":{"tf":1.0},"269":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.23606797749979},"298":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"76":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"79":{"tf":1.0}}},"r":{"df":1,"docs":{"247":{"tf":1.7320508075688772}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"175":{"tf":1.0},"222":{"tf":1.0},"25":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":20,"docs":{"138":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"50":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"11":{"tf":1.0},"196":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.0},"217":{"tf":1.7320508075688772},"218":{"tf":1.7320508075688772},"219":{"tf":1.7320508075688772},"220":{"tf":2.449489742783178},"25":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":21,"docs":{"155":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"215":{"tf":1.0},"22":{"tf":1.0},"242":{"tf":1.0},"247":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"115":{"tf":1.4142135623730951},"274":{"tf":1.0},"276":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"157":{"tf":1.0},"169":{"tf":1.0},"291":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.7320508075688772},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"214":{"tf":1.0},"267":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":71,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":2.23606797749979},"103":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":2.0},"131":{"tf":1.0},"133":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":2.23606797749979},"189":{"tf":1.0},"190":{"tf":1.0},"196":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"21":{"tf":1.0},"210":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.0},"239":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"243":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":2.8284271247461903},"273":{"tf":1.4142135623730951},"280":{"tf":1.0},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"81":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"138":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"172":{"tf":1.4142135623730951},"206":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":2.0},"244":{"tf":2.449489742783178},"252":{"tf":1.0},"258":{"tf":1.0},"260":{"tf":1.0},"288":{"tf":3.872983346207417}}},"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":{"186":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}}},"3":{"7":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":1,"docs":{"186":{"tf":1.0}}},"8":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"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":{"186":{"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":{"(":{"2":{"df":1,"docs":{"186":{"tf":1.0}}},"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":{"df":1,"docs":{"186":{"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":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}}}},"df":1,"docs":{"186":{"tf":3.3166247903554}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":16,"docs":{"107":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"161":{"tf":1.0},"169":{"tf":1.0},"203":{"tf":1.4142135623730951},"209":{"tf":1.0},"221":{"tf":1.0},"242":{"tf":1.0},"259":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.7320508075688772},"280":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":4,"docs":{"174":{"tf":1.0},"242":{"tf":1.0},"271":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"190":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":2.0}}},"s":{"df":5,"docs":{"130":{"tf":1.0},"190":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"232":{"tf":2.0},"233":{"tf":1.0},"274":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":8,"docs":{"184":{"tf":1.7320508075688772},"269":{"tf":1.7320508075688772},"270":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"78":{"tf":2.0},"79":{"tf":1.7320508075688772},"80":{"tf":1.7320508075688772}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"142":{"tf":1.0},"184":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"255":{"tf":1.0},"293":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"b":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"279":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"173":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":12,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"44":{"tf":1.0},"65":{"tf":1.0}},"u":{"df":7,"docs":{"160":{"tf":1.0},"214":{"tf":1.0},"249":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"189":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"244":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"113":{"tf":1.0},"268":{"tf":1.4142135623730951},"270":{"tf":1.0},"66":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"108":{"tf":2.8284271247461903},"127":{"tf":1.7320508075688772},"129":{"tf":1.0},"139":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.4142135623730951},"160":{"tf":1.0},"170":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"198":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"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":{"127":{"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":19,"docs":{"1":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"236":{"tf":1.7320508075688772},"237":{"tf":1.7320508075688772},"239":{"tf":1.4142135623730951},"241":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.23606797749979},"245":{"tf":1.0},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"3":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"109":{"tf":1.0},"155":{"tf":1.4142135623730951},"235":{"tf":2.0},"237":{"tf":1.0},"50":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"235":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"226":{"tf":1.0},"246":{"tf":1.0}}},"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"215":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"212":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"214":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"219":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":2.23606797749979},"212":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"257":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":17,"docs":{"12":{"tf":1.4142135623730951},"175":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"22":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":1.4142135623730951},"244":{"tf":1.0},"254":{"tf":1.0},"259":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0},"300":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"184":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"164":{"tf":1.0},"165":{"tf":1.0},"267":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"187":{"tf":1.0},"267":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"209":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"69":{"tf":1.0}},"s":{"df":3,"docs":{"160":{"tf":1.0},"198":{"tf":1.0},"227":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"274":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"49":{"tf":1.0}}}}},"i":{"d":{"df":13,"docs":{"110":{"tf":1.0},"156":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"214":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"151":{"tf":1.0},"230":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":20,"docs":{"127":{"tf":1.0},"129":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"180":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"258":{"tf":1.0},"45":{"tf":1.0},"92":{"tf":1.0}},"t":{"df":14,"docs":{"119":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"209":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":1.0},"271":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"207":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"148":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"239":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"80":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"121":{"tf":1.0},"188":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"267":{"tf":1.7320508075688772},"83":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":37,"docs":{"114":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":2.6457513110645907},"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":2.0},"206":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"212":{"tf":1.0},"217":{"tf":1.4142135623730951},"224":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.7320508075688772},"256":{"tf":1.0},"265":{"tf":1.0},"284":{"tf":2.23606797749979},"286":{"tf":1.0},"291":{"tf":2.8284271247461903},"293":{"tf":2.449489742783178},"295":{"tf":1.0},"298":{"tf":1.7320508075688772},"36":{"tf":1.0},"39":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"a":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.0}}}}},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"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":{"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":3,"docs":{"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":27,"docs":{"125":{"tf":1.0},"128":{"tf":1.4142135623730951},"152":{"tf":1.0},"173":{"tf":1.7320508075688772},"178":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.7320508075688772},"198":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"291":{"tf":3.4641016151377544},"293":{"tf":4.0},"298":{"tf":3.4641016151377544},"299":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"99":{"tf":1.0}},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{"\\":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"=":{"\\":{"\"":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"189":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":18,"docs":{"109":{"tf":1.4142135623730951},"135":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"163":{"tf":1.0},"176":{"tf":1.4142135623730951},"187":{"tf":1.0},"230":{"tf":1.0},"242":{"tf":1.0},"245":{"tf":1.0},"247":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}},"u":{"df":3,"docs":{"127":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":9,"docs":{"14":{"tf":1.0},"152":{"tf":1.0},"244":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"32":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"156":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.4142135623730951}}},"(":{"df":1,"docs":{"159":{"tf":1.0}}},"_":{"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":{"193":{"tf":1.0},"195":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":25,"docs":{"127":{"tf":1.0},"156":{"tf":3.0},"157":{"tf":1.7320508075688772},"158":{"tf":2.0},"159":{"tf":1.7320508075688772},"160":{"tf":1.0},"161":{"tf":2.6457513110645907},"162":{"tf":2.0},"163":{"tf":2.23606797749979},"164":{"tf":3.0},"165":{"tf":3.0},"166":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.7320508075688772},"173":{"tf":2.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.7320508075688772},"177":{"tf":2.23606797749979},"192":{"tf":1.4142135623730951},"267":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"243":{"tf":1.0},"258":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":3,"docs":{"165":{"tf":1.0},"208":{"tf":1.0},"261":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":15,"docs":{"109":{"tf":1.0},"151":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"221":{"tf":1.4142135623730951},"222":{"tf":1.4142135623730951},"237":{"tf":1.0},"239":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"275":{"tf":1.0},"50":{"tf":1.4142135623730951},"64":{"tf":1.0},"85":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":21,"docs":{"117":{"tf":1.0},"163":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"203":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"254":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"265":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"49":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"t":{"df":3,"docs":{"194":{"tf":1.4142135623730951},"210":{"tf":1.0},"25":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"122":{"tf":1.0}}},"t":{"df":9,"docs":{"239":{"tf":1.0},"240":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"27":{"tf":1.0},"271":{"tf":1.0},"301":{"tf":1.0}}}},"y":{"df":1,"docs":{"180":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"64":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"231":{"tf":1.0}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"209":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":30,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"178":{"tf":2.8284271247461903},"179":{"tf":2.449489742783178},"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"182":{"tf":1.7320508075688772},"183":{"tf":2.8284271247461903},"184":{"tf":4.0},"185":{"tf":1.4142135623730951},"186":{"tf":2.6457513110645907},"187":{"tf":2.23606797749979},"188":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.0},"270":{"tf":1.0},"284":{"tf":1.4142135623730951},"29":{"tf":1.0},"293":{"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},"80":{"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":{"179":{"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":{"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":{}}},"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":{"184":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"1":{"df":1,"docs":{"187":{"tf":1.0}}},"df":1,"docs":{"178":{"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":{"80":{"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":{"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"188":{"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":8,"docs":{"210":{"tf":1.0},"222":{"tf":1.0},"231":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"275":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"124":{"tf":1.0},"133":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"257":{"tf":1.4142135623730951},"260":{"tf":1.0},"69":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"186":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"132":{"tf":1.0},"195":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":1.0},"288":{"tf":1.7320508075688772},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"244":{"tf":1.0},"272":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"244":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"270":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"155":{"tf":1.0},"300":{"tf":1.0},"63":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"134":{"tf":1.0},"198":{"tf":1.7320508075688772},"207":{"tf":1.0},"228":{"tf":1.0},"256":{"tf":1.0},"276":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":24,"docs":{"118":{"tf":1.0},"129":{"tf":1.0},"150":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"261":{"tf":1.4142135623730951},"270":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"282":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"73":{"tf":1.0},"82":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":3,"docs":{"230":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":30,"docs":{"140":{"tf":1.0},"150":{"tf":1.0},"158":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.0},"188":{"tf":1.0},"199":{"tf":1.0},"203":{"tf":1.0},"214":{"tf":1.0},"231":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.0},"277":{"tf":1.0},"288":{"tf":2.8284271247461903},"29":{"tf":1.0},"293":{"tf":1.4142135623730951},"296":{"tf":1.0},"301":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"284":{"tf":1.0},"295":{"tf":1.0}}}},"_":{"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":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"36":{"tf":1.0}}}}},"l":{"df":1,"docs":{"256":{"tf":1.0}},"i":{"df":5,"docs":{"199":{"tf":1.0},"49":{"tf":2.0},"51":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"186":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":52,"docs":{"102":{"tf":1.0},"110":{"tf":1.0},"112":{"tf":1.0},"13":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.4142135623730951},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"258":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.0},"292":{"tf":1.0},"293":{"tf":3.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"39":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":12,"docs":{"115":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.7320508075688772},"180":{"tf":1.0},"186":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"277":{"tf":1.0}}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"3":{"df":0,"docs":{},"q":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"y":{"6":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"9":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"231":{"tf":2.0},"232":{"tf":1.0},"236":{"tf":1.0},"3":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":2.449489742783178}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"a":{"b":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"209":{"tf":1.0},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":49,"docs":{"111":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"122":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":2.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"182":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"187":{"tf":2.449489742783178},"205":{"tf":1.7320508075688772},"206":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"211":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":2.23606797749979},"232":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":2.449489742783178},"238":{"tf":2.6457513110645907},"239":{"tf":2.23606797749979},"240":{"tf":2.0},"241":{"tf":1.7320508075688772},"242":{"tf":1.7320508075688772},"243":{"tf":1.4142135623730951},"244":{"tf":1.0},"251":{"tf":1.0},"257":{"tf":2.0},"3":{"tf":1.0},"4":{"tf":2.0},"65":{"tf":2.6457513110645907},"70":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}},"b":{"df":3,"docs":{"209":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.0}}},"df":2,"docs":{"158":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"230":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":2.0},"246":{"tf":1.7320508075688772},"248":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}}}},"b":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"172":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"189":{"tf":1.0},"48":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"133":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"261":{"tf":1.0},"274":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":6,"docs":{"150":{"tf":1.0},"175":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"274":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":71,"docs":{"103":{"tf":2.0},"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"109":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.4142135623730951},"17":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"188":{"tf":2.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"192":{"tf":1.0},"195":{"tf":1.0},"198":{"tf":1.4142135623730951},"199":{"tf":1.7320508075688772},"203":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":2.0},"213":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":2.0},"224":{"tf":1.0},"228":{"tf":1.0},"232":{"tf":1.0},"236":{"tf":1.0},"248":{"tf":1.0},"25":{"tf":1.4142135623730951},"251":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":1.0},"286":{"tf":1.0},"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},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"83":{"tf":2.449489742783178},"87":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"220":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"190":{"tf":1.0},"279":{"tf":1.0},"64":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":10,"docs":{"169":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"222":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":8,"docs":{"181":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"239":{"tf":2.0},"240":{"tf":1.7320508075688772},"64":{"tf":1.0},"86":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"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":{"274":{"tf":1.7320508075688772},"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"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":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":19,"docs":{"188":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"215":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.4142135623730951},"227":{"tf":1.0},"231":{"tf":1.4142135623730951},"236":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.7320508075688772},"281":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"3":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"293":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"270":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"175":{"tf":1.4142135623730951},"246":{"tf":1.4142135623730951},"248":{"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":{"248":{"tf":1.4142135623730951}}}},"df":1,"docs":{"248":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":82,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"181":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":2.23606797749979},"191":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.4142135623730951},"204":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":2.449489742783178},"207":{"tf":2.23606797749979},"208":{"tf":1.7320508075688772},"209":{"tf":1.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"223":{"tf":1.4142135623730951},"23":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.0},"243":{"tf":2.449489742783178},"244":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.0},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":42,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":2.23606797749979},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"163":{"tf":1.7320508075688772},"164":{"tf":2.0},"165":{"tf":1.7320508075688772},"195":{"tf":1.0},"200":{"tf":1.4142135623730951},"201":{"tf":2.23606797749979},"202":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"221":{"tf":1.4142135623730951},"234":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"250":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"254":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"299":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"75":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"244":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"288":{"tf":2.6457513110645907},"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"153":{"tf":1.0},"288":{"tf":2.449489742783178}}},"t":{"df":2,"docs":{"11":{"tf":1.0},"142":{"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":10,"docs":{"15":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"215":{"tf":1.0},"221":{"tf":1.0},"26":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":30,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":2.0},"206":{"tf":1.0},"212":{"tf":1.0},"243":{"tf":1.0},"252":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"259":{"tf":1.0},"260":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.4142135623730951},"280":{"tf":1.4142135623730951},"33":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.7320508075688772}}}}}}}},"p":{"df":21,"docs":{"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.7320508075688772},"212":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.7320508075688772},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":49,"docs":{"11":{"tf":1.0},"160":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":2.23606797749979},"196":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.7320508075688772},"209":{"tf":1.0},"21":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":1.7320508075688772},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.4142135623730951},"224":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.4142135623730951},"228":{"tf":2.0},"229":{"tf":2.6457513110645907},"23":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.0},"256":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"271":{"tf":2.0},"272":{"tf":1.0},"273":{"tf":1.0},"281":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":5,"docs":{"189":{"tf":1.0},"218":{"tf":1.4142135623730951},"244":{"tf":1.0},"263":{"tf":1.0},"33":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"241":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.4142135623730951}},"e":{"<":{"df":1,"docs":{"284":{"tf":1.0}},"t":{"df":1,"docs":{"284":{"tf":5.0990195135927845}}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"284":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"187":{"tf":1.0},"219":{"tf":1.0},"263":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":14,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"176":{"tf":1.0},"185":{"tf":1.0},"209":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":35,"docs":{"107":{"tf":1.0},"150":{"tf":1.7320508075688772},"151":{"tf":1.0},"153":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"2":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":8,"docs":{"107":{"tf":1.0},"153":{"tf":1.0},"180":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"79":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":17,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"279":{"tf":1.0},"280":{"tf":1.4142135623730951},"291":{"tf":1.0},"86":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"101":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"166":{"tf":1.0},"175":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.4142135623730951},"235":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.4142135623730951},"259":{"tf":1.0},"288":{"tf":1.0},"45":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"219":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":19,"docs":{"115":{"tf":1.0},"13":{"tf":1.0},"175":{"tf":1.0},"209":{"tf":2.0},"213":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.4142135623730951},"25":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"3":{"tf":1.4142135623730951},"33":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"tf":1.0}}}},"df":0,"docs":{}},"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":{"231":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"163":{"tf":1.0},"173":{"tf":1.0},"207":{"tf":1.4142135623730951},"279":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"214":{"tf":1.4142135623730951},"271":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":26,"docs":{"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"175":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.0},"215":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"231":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"268":{"tf":1.0},"273":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"298":{"tf":1.0},"46":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":5,"docs":{"173":{"tf":1.0},"178":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":22,"docs":{"151":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"184":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"188":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.0},"252":{"tf":1.0},"5":{"tf":1.0},"65":{"tf":1.4142135623730951},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":36,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"158":{"tf":1.0},"165":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.23606797749979},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"215":{"tf":1.0},"228":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"25":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.4142135623730951},"265":{"tf":1.0},"273":{"tf":1.4142135623730951},"279":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":2.449489742783178},"293":{"tf":2.0},"298":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"15":{"tf":1.0},"225":{"tf":1.0},"226":{"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":{"127":{"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":{"184":{"tf":1.0}}}}}}},"<":{"a":{",":{"b":{">":{"(":{"a":{"df":1,"docs":{"184":{"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":2,"docs":{"227":{"tf":1.4142135623730951},"247":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":11,"docs":{"160":{"tf":2.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"167":{"tf":1.7320508075688772},"169":{"tf":1.7320508075688772},"170":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"173":{"tf":1.7320508075688772},"174":{"tf":2.449489742783178},"267":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"t":{"df":2,"docs":{"168":{"tf":2.0},"171":{"tf":2.0}}}},"df":1,"docs":{"170":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"115":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"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":{"115":{"tf":1.4142135623730951},"124":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"169":{"tf":1.4142135623730951},"190":{"tf":1.0},"228":{"tf":1.0},"260":{"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":{"112":{"tf":1.0},"122":{"tf":1.0},"183":{"tf":1.0}}}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"169":{"tf":1.0},"228":{"tf":1.0},"280":{"tf":1.0}}},"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":{"234":{"tf":1.0}}}}}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"232":{"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":{"232":{"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":{"232":{"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":{"232":{"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":{"246":{"tf":1.0},"248":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"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":3,"docs":{"173":{"tf":1.0},"222":{"tf":1.0},"263":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"262":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":20,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.4142135623730951},"301":{"tf":1.0},"36":{"tf":1.0}}}}}}}},"df":5,"docs":{"153":{"tf":1.0},"205":{"tf":1.0},"227":{"tf":1.0},"254":{"tf":1.0},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":20,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"229":{"tf":1.0},"238":{"tf":1.0},"255":{"tf":1.0},"258":{"tf":1.0},"266":{"tf":1.0},"83":{"tf":1.0},"99":{"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":{"232":{"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":{"232":{"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":{"232":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"267":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"267":{"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":8,"docs":{"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":2.23606797749979}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"153":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"277":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":36,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"148":{"tf":1.0},"166":{"tf":1.0},"204":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"223":{"tf":1.0},"227":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.0},"255":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.4142135623730951},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":17,"docs":{"11":{"tf":1.0},"156":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"193":{"tf":1.0},"2":{"tf":1.0},"207":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.4142135623730951},"7":{"tf":1.0},"78":{"tf":1.0}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"188":{"tf":1.0},"209":{"tf":1.0},"243":{"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":{"234":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"105":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"109":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"122":{"tf":1.0},"124":{"tf":1.7320508075688772},"262":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.7320508075688772},"294":{"tf":4.0},"296":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"81":{"tf":1.0}},"e":{"d":{"(":{"1":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"296":{"tf":1.0}}}}}}}}}}}}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":10,"docs":{"237":{"tf":1.0},"25":{"tf":1.0},"256":{"tf":1.0},"263":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"215":{"tf":1.0},"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":13,"docs":{"17":{"tf":1.0},"194":{"tf":1.4142135623730951},"198":{"tf":1.0},"201":{"tf":2.0},"203":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"240":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"269":{"tf":1.0},"34":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"152":{"tf":1.0},"164":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":9,"docs":{"154":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"256":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"291":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"112":{"tf":1.0},"244":{"tf":1.0},"288":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"299":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":12,"docs":{"247":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"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":{"184":{"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":{"184":{"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":3,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"288":{"tf":2.449489742783178}}}}},"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":{"184":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"160":{"tf":1.0},"214":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"276":{"tf":1.0},"33":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":16,"docs":{"131":{"tf":1.0},"137":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772},"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"174":{"tf":2.23606797749979},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"50":{"tf":1.0},"80":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"7":{"_":{"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":{"172":{"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":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":13,"docs":{"130":{"tf":1.0},"151":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.0},"238":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.0},"264":{"tf":1.4142135623730951},"271":{"tf":1.0},"36":{"tf":1.0},"83":{"tf":1.0}}}},"1":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},">":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":42,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"15":{"tf":1.0},"156":{"tf":1.4142135623730951},"160":{"tf":1.7320508075688772},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"187":{"tf":1.0},"189":{"tf":1.0},"216":{"tf":1.0},"223":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"234":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.0},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.7320508075688772},"298":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"213":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"153":{"tf":1.0},"282":{"tf":1.0},"53":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":9,"docs":{"101":{"tf":1.0},"174":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"203":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"217":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"221":{"tf":1.0},"231":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0},"63":{"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":4,"docs":{"107":{"tf":1.0},"243":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0}}}}}}}}}},"df":10,"docs":{"155":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"165":{"tf":2.8284271247461903},"168":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.0},"142":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"182":{"tf":1.0},"213":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"247":{"tf":1.0},"256":{"tf":1.0},"271":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.7320508075688772},"65":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"101":{"tf":1.0},"183":{"tf":1.0},"252":{"tf":1.0},"257":{"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":{"184":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":11,"docs":{"161":{"tf":1.7320508075688772},"162":{"tf":1.4142135623730951},"164":{"tf":2.23606797749979},"165":{"tf":2.6457513110645907},"168":{"tf":1.0},"184":{"tf":1.0},"284":{"tf":2.0},"291":{"tf":2.8284271247461903},"298":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"155":{"tf":2.0},"164":{"tf":1.0},"173":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"291":{"tf":5.916079783099616},"298":{"tf":4.358898943540674},"55":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":2.449489742783178}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"165":{"tf":1.0},"183":{"tf":1.0},"263":{"tf":1.4142135623730951},"64":{"tf":1.0},"8":{"tf":1.0}}}}}}},"m":{"b":{"df":1,"docs":{"261":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"220":{"tf":1.0},"81":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"242":{"tf":1.0}},"e":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":11,"docs":{"130":{"tf":1.0},"136":{"tf":1.0},"204":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"291":{"tf":2.0},"293":{"tf":1.0},"298":{"tf":1.0},"60":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.4142135623730951}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":21,"docs":{"122":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"183":{"tf":1.0},"21":{"tf":1.4142135623730951},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"241":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"271":{"tf":1.0},"288":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"9":{"tf":1.0},"93":{"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":{"140":{"tf":1.0},"190":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"d":{"df":20,"docs":{"116":{"tf":1.0},"134":{"tf":1.0},"157":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"172":{"tf":1.0},"181":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"231":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951},"280":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"113":{"tf":1.0},"250":{"tf":1.0},"265":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":23,"docs":{"110":{"tf":1.7320508075688772},"147":{"tf":1.0},"172":{"tf":1.0},"186":{"tf":1.0},"199":{"tf":1.0},"209":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"235":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"265":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"301":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"254":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"221":{"tf":1.7320508075688772},"253":{"tf":1.4142135623730951},"254":{"tf":1.4142135623730951},"255":{"tf":3.0},"256":{"tf":1.0},"261":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"255":{"tf":1.0}},"s":{":":{":":{"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":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}},"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":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"159":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"222":{"tf":1.7320508075688772},"238":{"tf":1.0},"244":{"tf":1.0},"271":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"274":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"280":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"131":{"tf":1.0},"173":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":41,"docs":{"119":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"255":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.4142135623730951},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0}},"e":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"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":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"155":{"tf":1.0},"156":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":23,"docs":{"108":{"tf":1.0},"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"169":{"tf":1.0},"179":{"tf":1.0},"187":{"tf":1.0},"196":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.0},"220":{"tf":1.0},"225":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.4142135623730951},"243":{"tf":1.0},"244":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"242":{"tf":1.0},"293":{"tf":3.1622776601683795},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"98":{"tf":2.0}}},"y":{"'":{"df":1,"docs":{"293":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"98":{"tf":1.0}}},"1":{"df":1,"docs":{"98":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"113":{"tf":1.7320508075688772}}}},"v":{"df":2,"docs":{"215":{"tf":1.7320508075688772},"219":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"215":{"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":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"112":{"tf":1.0},"140":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.4142135623730951},"83":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"117":{"tf":2.0},"118":{"tf":1.0},"119":{"tf":1.0},"220":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951}}}},"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":5,"docs":{"175":{"tf":1.0},"208":{"tf":1.0},"257":{"tf":1.0},"271":{"tf":1.0},"80":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"175":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"249":{"tf":1.0}},"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":{"162":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"299":{"tf":1.0}}}}},"t":{"df":3,"docs":{"152":{"tf":1.0},"201":{"tf":1.0},"299":{"tf":1.0}}}},"df":49,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"122":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":2.0},"130":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"151":{"tf":2.449489742783178},"152":{"tf":1.7320508075688772},"153":{"tf":3.0},"154":{"tf":1.7320508075688772},"159":{"tf":2.23606797749979},"161":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"189":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.7320508075688772},"244":{"tf":1.7320508075688772},"246":{"tf":1.4142135623730951},"248":{"tf":2.0},"249":{"tf":2.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"69":{"tf":2.0},"73":{"tf":2.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"81":{"tf":2.0},"92":{"tf":1.4142135623730951}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"187":{"tf":1.0},"93":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"148":{"tf":1.0},"171":{"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":{"183":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":3,"docs":{"198":{"tf":1.0},"260":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":36,"docs":{"112":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"160":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"252":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"244":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"75":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"199":{"tf":1.0},"229":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"209":{"tf":1.0},"90":{"tf":1.0}}}}}},"x":{"1":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.0},"262":{"tf":1.4142135623730951}}}}}}},"_":{"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":6,"docs":{"203":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.4142135623730951},"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"189":{"tf":1.0},"262":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}},"df":9,"docs":{"206":{"tf":3.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.4142135623730951},"219":{"tf":1.0},"221":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0}}},"4":{".":{"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":{"204":{"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":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"df":1,"docs":{"197":{"tf":1.0}}},"2":{"df":1,"docs":{"197":{"tf":1.0}}},"5":{"df":1,"docs":{"197":{"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":{"197":{"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":{"197":{"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":{"197":{"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":{"197":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"183":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"228":{"tf":1.0},"266":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":16,"docs":{"129":{"tf":1.0},"132":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"198":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":110,"docs":{"101":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":2.0},"16":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"197":{"tf":1.7320508075688772},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.7320508075688772},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.4142135623730951},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.4142135623730951},"220":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"247":{"tf":1.0},"254":{"tf":1.4142135623730951},"257":{"tf":1.0},"261":{"tf":1.4142135623730951},"263":{"tf":2.0},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":2.0},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":1.0},"293":{"tf":1.4142135623730951},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":2.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}},"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":7,"docs":{"192":{"tf":1.0},"195":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"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":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":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}}},"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":{"91":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"151":{"tf":1.4142135623730951},"234":{"tf":1.0},"300":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"264":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"204":{"tf":1.0},"237":{"tf":1.0},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"296":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":1,"docs":{"197":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":27,"docs":{"189":{"tf":1.0},"197":{"tf":1.4142135623730951},"211":{"tf":1.0},"213":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.4142135623730951},"22":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.7320508075688772},"239":{"tf":2.0},"244":{"tf":2.0},"25":{"tf":2.449489742783178},"259":{"tf":1.0},"260":{"tf":1.7320508075688772},"263":{"tf":2.449489742783178},"27":{"tf":1.0},"288":{"tf":2.8284271247461903},"31":{"tf":1.4142135623730951},"32":{"tf":2.0},"33":{"tf":1.4142135623730951},"41":{"tf":1.0},"50":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"239":{"tf":1.0},"244":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"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":{"74":{"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":{"75":{"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":12,"docs":{"122":{"tf":1.0},"156":{"tf":1.4142135623730951},"194":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"242":{"tf":1.0},"293":{"tf":1.0},"30":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"df":3,"docs":{"53":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"262":{"tf":2.0},"263":{"tf":1.0}}}}}}}},"df":4,"docs":{"194":{"tf":1.0},"219":{"tf":1.0},"262":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"119":{"tf":1.0},"281":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":42,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"164":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"220":{"tf":1.0},"235":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"254":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0}},"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":{"175":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"184":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"3":{"tf":1.0}}},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"242":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"199":{"tf":1.0}}}},"n":{"df":3,"docs":{"126":{"tf":1.0},"264":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":23,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.7320508075688772},"133":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"281":{"tf":1.4142135623730951},"39":{"tf":1.0},"78":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":47,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"192":{"tf":1.0},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"201":{"tf":1.0},"204":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.0},"217":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"243":{"tf":1.0},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"252":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.7320508075688772},"279":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"80":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":23,"docs":{"152":{"tf":1.0},"189":{"tf":1.0},"192":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":2.23606797749979},"200":{"tf":1.0},"201":{"tf":2.0},"202":{"tf":2.23606797749979},"203":{"tf":1.7320508075688772},"204":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.7320508075688772},"214":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.7320508075688772},"229":{"tf":2.0},"243":{"tf":1.4142135623730951},"266":{"tf":2.0},"267":{"tf":2.6457513110645907},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"s":{"df":13,"docs":{"183":{"tf":1.0},"189":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"242":{"tf":1.0},"284":{"tf":1.0},"286":{"tf":1.0},"300":{"tf":1.0}}}},"r":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":22,"docs":{"102":{"tf":1.0},"114":{"tf":1.0},"119":{"tf":1.0},"135":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"142":{"tf":1.0},"145":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"240":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.0},"48":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"220":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"24":{"tf":1.0},"270":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":1.0},"21":{"tf":1.0},"243":{"tf":1.0},"271":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"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":{"229":{"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":4,"docs":{"198":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.7320508075688772},"80":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":17,"docs":{"178":{"tf":1.0},"198":{"tf":1.0},"210":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"277":{"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":{"50":{"tf":1.0}}}},"f":{"(":{"0":{"df":1,"docs":{"149":{"tf":1.0}}},"1":{"df":1,"docs":{"149":{"tf":1.0}}},"5":{"df":1,"docs":{"149":{"tf":1.4142135623730951}}},"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"197":{"tf":1.0}}},"2":{"df":1,"docs":{"197":{"tf":1.4142135623730951}}},"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"t":{"df":16,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"231":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"155":{"tf":1.0},"199":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.7320508075688772},"272":{"tf":1.0},"273":{"tf":2.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"151":{"tf":1.0},"244":{"tf":1.4142135623730951},"254":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"288":{"tf":2.0},"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"151":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"208":{"tf":1.0},"213":{"tf":1.0},"258":{"tf":1.0},"276":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"244":{"tf":1.0},"252":{"tf":1.0},"277":{"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":{"66":{"tf":1.0}}}}}}}}}},"s":{"df":15,"docs":{"132":{"tf":1.4142135623730951},"180":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"291":{"tf":3.0},"293":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"169":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"167":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}},"df":8,"docs":{"131":{"tf":1.0},"161":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"224":{"tf":1.0},"237":{"tf":1.0},"275":{"tf":1.4142135623730951},"93":{"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":{"147":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":4,"docs":{"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772}}}}}}}}}}}}}}},"df":7,"docs":{"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"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":8,"docs":{"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":25,"docs":{"114":{"tf":1.0},"138":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"222":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"243":{"tf":1.4142135623730951},"249":{"tf":1.0},"252":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"273":{"tf":1.0},"275":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":7,"docs":{"131":{"tf":1.4142135623730951},"168":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"280":{"tf":1.0}}},"t":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"w":{"df":9,"docs":{"140":{"tf":1.0},"183":{"tf":1.0},"232":{"tf":1.4142135623730951},"237":{"tf":1.0},"268":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0}}}},"i":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"272":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"a":{"df":1,"docs":{"203":{"tf":1.0}}},"b":{"df":1,"docs":{"203":{"tf":1.0}}},"df":8,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"118":{"tf":1.0},"187":{"tf":1.0},"201":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"288":{"tf":1.0}}}},"g":{"df":188,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"158":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":1.7320508075688772},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":2.23606797749979},"173":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.4142135623730951},"199":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":2.6457513110645907},"207":{"tf":2.23606797749979},"209":{"tf":1.7320508075688772},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"219":{"tf":1.7320508075688772},"221":{"tf":1.7320508075688772},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":2.6457513110645907},"229":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.4142135623730951},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"251":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.7320508075688772},"26":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.7320508075688772},"266":{"tf":1.4142135623730951},"267":{"tf":2.23606797749979},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"272":{"tf":2.0},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":2.23606797749979},"281":{"tf":1.4142135623730951},"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},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"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.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"261":{"tf":1.0}}},"(":{"df":2,"docs":{"199":{"tf":1.0},"263":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"286":{"tf":1.0}}}}}},"df":60,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":3.605551275463989},"19":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.7320508075688772},"195":{"tf":1.0},"196":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":2.23606797749979},"213":{"tf":1.7320508075688772},"214":{"tf":1.4142135623730951},"223":{"tf":1.4142135623730951},"228":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.4142135623730951},"243":{"tf":1.0},"25":{"tf":2.0},"257":{"tf":1.0},"259":{"tf":1.0},"26":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":2.0},"262":{"tf":2.0},"263":{"tf":2.23606797749979},"264":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.7320508075688772},"270":{"tf":2.23606797749979},"271":{"tf":1.4142135623730951},"273":{"tf":2.0},"279":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"299":{"tf":1.0},"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},"91":{"tf":1.0},"99":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"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":5,"docs":{"189":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0},"27":{"tf":1.4142135623730951}},"i":{"c":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"286":{"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":{}}},"l":{"df":2,"docs":{"270":{"tf":1.0},"271":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"248":{"tf":1.4142135623730951}}}},"<":{"a":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"156":{"tf":1.0},"289":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"156":{"tf":1.0},"248":{"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":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"155":{"tf":2.0},"247":{"tf":1.7320508075688772},"248":{"tf":1.0},"251":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":17,"docs":{"148":{"tf":1.0},"170":{"tf":1.7320508075688772},"189":{"tf":1.0},"206":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"d":{"df":31,"docs":{"101":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"227":{"tf":1.0},"25":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"81":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"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":{"83":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"83":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"172":{"tf":1.0},"222":{"tf":1.0},"279":{"tf":1.0},"85":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"130":{"tf":1.0},"184":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"130":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"173":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":46,"docs":{"11":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.7320508075688772},"15":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"172":{"tf":1.4142135623730951},"184":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.4142135623730951},"214":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.4142135623730951},"230":{"tf":1.0},"231":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"256":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"291":{"tf":2.6457513110645907},"298":{"tf":3.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"x":{"df":17,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"124":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"244":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":12,"docs":{"189":{"tf":1.0},"20":{"tf":1.0},"215":{"tf":3.605551275463989},"216":{"tf":1.4142135623730951},"217":{"tf":1.4142135623730951},"218":{"tf":1.4142135623730951},"219":{"tf":2.8284271247461903},"22":{"tf":1.0},"220":{"tf":2.8284271247461903},"229":{"tf":1.0},"271":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"221":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"163":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"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":7,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"203":{"tf":1.0},"287":{"tf":1.7320508075688772},"294":{"tf":4.0},"296":{"tf":1.0},"45":{"tf":2.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"w":{"df":6,"docs":{"109":{"tf":1.4142135623730951},"151":{"tf":1.0},"239":{"tf":1.0},"50":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.23606797749979}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"n":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"155":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"114":{"tf":1.0},"150":{"tf":1.4142135623730951},"155":{"tf":1.0},"289":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":64,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.4142135623730951},"194":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"217":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"233":{"tf":1.0},"236":{"tf":1.0},"243":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"252":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"266":{"tf":1.0},"273":{"tf":1.0},"277":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.7320508075688772},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"o":{"(":{"%":{"df":1,"docs":{"170":{"tf":1.4142135623730951}}},"1":{"2":{"3":{"4":{"df":4,"docs":{"168":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0}}},"5":{"6":{"6":{"7":{"8":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}},"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":{"df":1,"docs":{"181":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"181":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"156":{"tf":1.0}}},"a":{"df":1,"docs":{"232":{"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":{"139":{"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":{"75":{"tf":4.795831523312719}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":1.0},"188":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"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":{"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"75":{"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":{"193":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"{":{"a":{"df":1,"docs":{"75":{"tf":3.872983346207417}}},"df":0,"docs":{}}},".":{"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":{"286":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"286":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}}},"a":{">":{"(":{"a":{"df":1,"docs":{"139":{"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":{"75":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"181":{"tf":1.0},"188":{"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":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"181":{"tf":2.23606797749979},"188":{"tf":1.7320508075688772},"75":{"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":{"181":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"a":{"df":1,"docs":{"232":{"tf":2.23606797749979}}},"b":{"df":1,"docs":{"232":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"232":{"tf":2.449489742783178}}},"df":19,"docs":{"120":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"188":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":2.8284271247461903},"197":{"tf":1.4142135623730951},"232":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"245":{"tf":1.0},"286":{"tf":1.0},"36":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"93":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"245":{"tf":1.0}}}},"df":1,"docs":{"234":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"232":{"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":{"60":{"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":4,"docs":{"103":{"tf":1.0},"214":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0}}}}},"df":2,"docs":{"242":{"tf":1.0},"248":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":7,"docs":{"140":{"tf":1.0},"173":{"tf":1.0},"201":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"243":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}},"t":{"df":8,"docs":{"142":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"257":{"tf":2.23606797749979},"258":{"tf":1.4142135623730951},"261":{"tf":1.0},"48":{"tf":2.23606797749979},"49":{"tf":1.0}}}},"df":15,"docs":{"114":{"tf":1.0},"158":{"tf":1.0},"193":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"266":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"182":{"tf":1.0},"188":{"tf":1.0},"207":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"265":{"tf":1.0},"45":{"tf":1.0},"7":{"tf":1.0}}}},"df":22,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.6457513110645907},"172":{"tf":1.0},"183":{"tf":1.0},"220":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"270":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"264":{"tf":1.0},"289":{"tf":1.0}}},"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":8,"docs":{"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"236":{"tf":1.0},"252":{"tf":1.4142135623730951},"271":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"244":{"tf":1.0}}},"df":14,"docs":{"148":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":2.0},"263":{"tf":1.0},"280":{"tf":1.0},"3":{"tf":1.4142135623730951},"39":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"201":{"tf":1.0},"207":{"tf":1.0},"223":{"tf":1.0},"238":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"140":{"tf":1.0}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"221":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"(":{"c":{"df":2,"docs":{"199":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"188":{"tf":1.0},"209":{"tf":1.0},"243":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"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":1,"docs":{"271":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":17,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"144":{"tf":1.0},"173":{"tf":2.0},"206":{"tf":1.0},"207":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"270":{"tf":1.0},"280":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":16,"docs":{"115":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"195":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"155":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.0}}}}},"t":{"df":1,"docs":{"159":{"tf":1.0}}}},"a":{"df":2,"docs":{"156":{"tf":1.0},"289":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"145":{"tf":1.0},"246":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951}}}}},"k":{"df":1,"docs":{"293":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"t":{"df":5,"docs":{"247":{"tf":1.4142135623730951},"248":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"298":{"tf":1.0}}},"|":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"177":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951}}}}}},"b":{"df":2,"docs":{"155":{"tf":1.0},"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0}}}}},"k":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}},"t":{"df":1,"docs":{"291":{"tf":1.0}}},"v":{"df":1,"docs":{"293":{"tf":1.0}}}}},"df":97,"docs":{"110":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"134":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.449489742783178},"141":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":1.4142135623730951},"155":{"tf":2.0},"156":{"tf":3.605551275463989},"157":{"tf":1.0},"158":{"tf":1.7320508075688772},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":2.8284271247461903},"165":{"tf":3.1622776601683795},"168":{"tf":2.0},"171":{"tf":2.0},"172":{"tf":1.4142135623730951},"173":{"tf":3.1622776601683795},"175":{"tf":2.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"190":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.7320508075688772},"194":{"tf":1.0},"199":{"tf":1.4142135623730951},"202":{"tf":2.23606797749979},"206":{"tf":1.4142135623730951},"207":{"tf":2.449489742783178},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"235":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.7320508075688772},"247":{"tf":3.872983346207417},"248":{"tf":3.4641016151377544},"25":{"tf":1.0},"251":{"tf":2.0},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"270":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":2.449489742783178},"274":{"tf":2.0},"275":{"tf":1.0},"279":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":4.69041575982343},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"288":{"tf":4.123105625617661},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"291":{"tf":5.656854249492381},"292":{"tf":1.0},"293":{"tf":6.082762530298219},"294":{"tf":4.358898943540674},"295":{"tf":2.449489742783178},"296":{"tf":2.449489742783178},"297":{"tf":4.242640687119285},"298":{"tf":5.5677643628300215},"300":{"tf":6.0},"301":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"169":{"tf":1.0},"23":{"tf":1.0},"239":{"tf":1.4142135623730951},"255":{"tf":1.0},"264":{"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":6,"docs":{"176":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.7320508075688772},"280":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":27,"docs":{"115":{"tf":1.0},"133":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"194":{"tf":1.0},"201":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"226":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":2.0},"234":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"252":{"tf":1.0},"267":{"tf":1.0},"288":{"tf":6.244997998398398},"48":{"tf":1.0},"59":{"tf":1.0},"93":{"tf":1.0}},"e":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"235":{"tf":1.0}}}}},"t":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"b":{"a":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"246":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"232":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"234":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"232":{"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":{"235":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"239":{"tf":1.4142135623730951},"240":{"tf":1.0}}}}}},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"229":{"tf":1.0}}}}},"t":{"df":1,"docs":{"288":{"tf":4.0}}},"v":{"df":1,"docs":{"288":{"tf":2.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":2,"docs":{"231":{"tf":1.0},"233":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"`":{"df":1,"docs":{"288":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"235":{"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":{"235":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"235":{"tf":1.0}}},"x":{"df":1,"docs":{"248":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.0}},"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":{},"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":1,"docs":{"288":{"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":{}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"160":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"228":{"tf":1.0},"260":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"173":{"tf":1.7320508075688772},"208":{"tf":1.0}}},"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"]":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"c":{"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":{}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"173":{"tf":1.7320508075688772},"221":{"tf":2.23606797749979}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"173":{"tf":1.0}},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":2.6457513110645907}}}}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"272":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"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":{"186":{"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":{"186":{"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":{"186":{"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":86,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"127":{"tf":2.0},"131":{"tf":1.0},"134":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"15":{"tf":1.0},"155":{"tf":2.23606797749979},"156":{"tf":3.4641016151377544},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":2.0},"177":{"tf":1.7320508075688772},"181":{"tf":1.0},"183":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.0},"189":{"tf":1.0},"204":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":2.0},"248":{"tf":2.8284271247461903},"249":{"tf":2.0},"25":{"tf":1.0},"250":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"254":{"tf":2.449489742783178},"257":{"tf":2.0},"259":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":2.0},"266":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"36":{"tf":1.0},"45":{"tf":1.4142135623730951},"82":{"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":{"176":{"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":{"177":{"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":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"253":{"tf":1.4142135623730951},"254":{"tf":1.7320508075688772},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"279":{"tf":1.0}}}}}},"t":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"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":1,"docs":{"228":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"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":{"150":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"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":{"235":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":10,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"189":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"225":{"tf":1.0},"227":{"tf":1.0},"263":{"tf":1.0},"271":{"tf":1.0},"278":{"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":{"188":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"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":{"235":{"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":{"235":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"228":{"tf":1.0},"229":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"229":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"273":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"273":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"206":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"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":{"235":{"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":2,"docs":{"293":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"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":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"152":{"tf":2.0}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"[":{"1":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"153":{"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":{"235":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"208":{"tf":1.0},"288":{"tf":1.0}}}},"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":{"231":{"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":{"231":{"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":{"235":{"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":{"235":{"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":{"235":{"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":{"231":{"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":{"233":{"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":{"231":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"233":{"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":{"184":{"tf":3.0}}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"221":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":20,"docs":{"222":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":13,"docs":{"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"194":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"277":{"tf":1.0},"49":{"tf":1.0},"64":{"tf":1.0}},"n":{"df":26,"docs":{"124":{"tf":1.0},"131":{"tf":1.0},"155":{"tf":1.0},"165":{"tf":1.7320508075688772},"175":{"tf":1.0},"199":{"tf":1.4142135623730951},"210":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":2.8284271247461903},"291":{"tf":1.4142135623730951},"293":{"tf":2.6457513110645907},"298":{"tf":1.4142135623730951},"36":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"220":{"tf":1.4142135623730951},"227":{"tf":1.0},"238":{"tf":1.0},"288":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"147":{"tf":1.4142135623730951},"187":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"93":{"tf":1.0}}}},"df":16,"docs":{"15":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"277":{"tf":1.4142135623730951},"28":{"tf":1.0},"280":{"tf":1.0}},"e":{"df":3,"docs":{"173":{"tf":1.0},"187":{"tf":1.0},"275":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{}},"o":{"d":{"b":{"df":0,"docs":{},"y":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":9,"docs":{"166":{"tf":1.4142135623730951},"206":{"tf":1.0},"208":{"tf":1.0},"245":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"231":{"tf":1.0},"236":{"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":{"244":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"222":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"h":{"df":19,"docs":{"148":{"tf":1.0},"211":{"tf":1.0},"231":{"tf":2.6457513110645907},"232":{"tf":3.4641016151377544},"233":{"tf":3.1622776601683795},"234":{"tf":2.0},"235":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":3.7416573867739413},"240":{"tf":2.6457513110645907},"241":{"tf":1.0},"244":{"tf":3.7416573867739413},"246":{"tf":2.6457513110645907},"248":{"tf":2.6457513110645907},"254":{"tf":1.4142135623730951},"255":{"tf":2.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"288":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"234":{"tf":2.0}}}}}}},"r":{"df":2,"docs":{"233":{"tf":1.4142135623730951},"234":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"232":{"tf":1.0},"259":{"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":{"111":{"tf":2.23606797749979},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"51":{"tf":1.0},"74":{"tf":3.3166247903554}}},"t":{"df":6,"docs":{"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.0},"34":{"tf":1.0},"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"253":{"tf":1.0},"254":{"tf":2.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":3,"docs":{"254":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"0":{"df":1,"docs":{"254":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"299":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"209":{"tf":1.0}}}},"w":{"df":1,"docs":{"199":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"279":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"231":{"tf":2.0},"232":{"tf":3.7416573867739413},"235":{"tf":2.23606797749979},"239":{"tf":1.4142135623730951},"240":{"tf":2.0}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":25,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"173":{"tf":1.0},"187":{"tf":1.4142135623730951},"198":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"236":{"tf":1.4142135623730951},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.0},"3":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"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":{":":{"1":{"df":1,"docs":{"239":{"tf":1.0}}},"3":{"df":1,"docs":{"239":{"tf":1.0}}},"4":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{":":{"5":{"df":1,"docs":{"240":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"'":{"df":3,"docs":{"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"210":{"tf":1.0}}},"d":{"df":4,"docs":{"15":{"tf":1.0},"217":{"tf":1.0},"25":{"tf":1.0},"252":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"1":{">":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":13,"docs":{"144":{"tf":1.0},"154":{"tf":1.4142135623730951},"173":{"tf":1.0},"208":{"tf":1.0},"228":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"245":{"tf":1.0},"26":{"tf":1.0},"280":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"82":{"tf":1.0}},"i":{"df":1,"docs":{"276":{"tf":1.0}}},"l":{"df":23,"docs":{"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"161":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":1.0},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"244":{"tf":2.6457513110645907},"247":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.0},"271":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":2.449489742783178},"261":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":16,"docs":{"103":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"138":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.4142135623730951},"181":{"tf":1.0},"201":{"tf":1.0},"213":{"tf":1.0},"231":{"tf":1.0},"238":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0},"84":{"tf":1.0}}}},"i":{"df":2,"docs":{"153":{"tf":1.0},"208":{"tf":1.0}}}}},"r":{"d":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"173":{"tf":1.0},"261":{"tf":1.0}}},"df":0,"docs":{}}},"df":6,"docs":{"119":{"tf":1.0},"147":{"tf":1.0},"161":{"tf":1.0},"201":{"tf":1.0},"245":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"245":{"tf":1.0},"277":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"230":{"tf":1.0},"231":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"83":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":1,"docs":{"298":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"159":{"tf":1.0},"194":{"tf":1.0},"234":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":12,"docs":{"117":{"tf":1.0},"183":{"tf":1.4142135623730951},"194":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"267":{"tf":1.0},"276":{"tf":1.0},"280":{"tf":1.0},"34":{"tf":1.0},"76":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"72":{"tf":1.0}},"e":{"a":{"d":{"df":5,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":2.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"262":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"209":{"tf":1.0},"45":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"213":{"tf":1.0},"271":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}},"}":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}}}}}}}}},"l":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"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":8,"docs":{"228":{"tf":1.0},"263":{"tf":1.0},"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":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"228":{"tf":1.7320508075688772},"229":{"tf":1.0},"263":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":12,"docs":{"138":{"tf":1.4142135623730951},"158":{"tf":1.0},"228":{"tf":1.0},"263":{"tf":2.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},"65":{"tf":2.0},"8":{"tf":1.4142135623730951}}}},"p":{"df":3,"docs":{"169":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.0}}}},"n":{"c":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"138":{"tf":1.0},"161":{"tf":1.0}}},"df":40,"docs":{"103":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"147":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"193":{"tf":1.0},"219":{"tf":1.0},"23":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"282":{"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":{"59":{"tf":1.0}}}}}}}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"201":{"tf":1.0},"209":{"tf":1.4142135623730951}}}},"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":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"15":{"tf":1.0},"152":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"243":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":9,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"116":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"65":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.0},"43":{"tf":1.0}}}}},"o":{"c":{"df":2,"docs":{"113":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"128":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"152":{"tf":1.0},"164":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"235":{"tf":1.7320508075688772},"261":{"tf":1.4142135623730951}},"e":{".":{"<":{"/":{"df":0,"docs":{},"p":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.0},"262":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"209":{"tf":1.0},"78":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"274":{"tf":1.0}}}},"df":6,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"257":{"tf":1.4142135623730951}},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"221":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"172":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.4142135623730951},"124":{"tf":1.7320508075688772}},"s":{"(":{"4":{".":{"0":{"df":1,"docs":{"124":{"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":{"124":{"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":{"235":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"261":{"tf":2.0},"262":{"tf":2.0},"263":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"4":{"0":{"0":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"0":{"4":{"c":{"df":0,"docs":{},"f":{"a":{"d":{"0":{"1":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"7":{"df":0,"docs":{},"f":{"3":{"b":{"8":{"a":{"df":0,"docs":{},"e":{"5":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"221":{"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":{}},"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":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"8":{"0":{"8":{"0":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"254":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"4":{"0":{"0":{"0":{"df":1,"docs":{"221":{"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":{},"s":{":":{"/":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"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":{},"k":{"2":{"0":{"0":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"@":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}}},"df":1,"docs":{"256":{"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":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"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":{":":{"8":{"df":1,"docs":{"254":{"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":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"221":{"tf":3.0},"252":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"255":{"tf":1.0},"261":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"s":{":":{"/":{"/":{"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":{},"r":{"df":0,"docs":{},"e":{"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":{"/":{"b":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"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":{}},"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"8":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"/":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"300":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"/":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"a":{"d":{"d":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"293":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"298":{"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":{}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"9":{"9":{"/":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"a":{"df":0,"docs":{},"v":{"a":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"2":{"2":{".":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"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":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"298":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{".":{"1":{"df":1,"docs":{"300":{"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":{}}},"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":{}}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{".":{"b":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"d":{"df":0,"docs":{},"w":{"b":{"7":{"d":{"df":0,"docs":{},"f":{"8":{"?":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"=":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"1":{"df":1,"docs":{"279":{"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":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":2,"docs":{"254":{"tf":1.7320508075688772},"256":{"tf":1.0}}}},"i":{"c":{"df":5,"docs":{"221":{"tf":1.0},"253":{"tf":1.4142135623730951},"254":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"229":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"171":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"202":{"tf":1.0}}},"df":0,"docs":{}}}},"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":{"93":{"tf":1.0}}}}}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"184":{"tf":1.4142135623730951},"185":{"tf":1.0},"230":{"tf":1.0},"276":{"tf":1.0},"64":{"tf":2.0}}}},"m":{"df":2,"docs":{"172":{"tf":1.0},"184":{"tf":1.0}}}},".":{"df":3,"docs":{"111":{"tf":1.0},"231":{"tf":1.0},"71":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"142":{"tf":1.0},"230":{"tf":1.0}}}},"1":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}},"d":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"209":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"261":{"tf":1.0}},"e":{"a":{"df":3,"docs":{"140":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0}},"l":{"df":4,"docs":{"129":{"tf":1.0},"165":{"tf":1.0},"247":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"124":{"tf":1.0},"150":{"tf":1.0},"186":{"tf":1.0},"239":{"tf":1.0},"240":{"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":{"51":{"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":4,"docs":{"151":{"tf":1.0},"215":{"tf":1.0},"32":{"tf":1.0},"95":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"_":{"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":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"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":{"130":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"130":{"tf":1.0},"148":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"69":{"tf":1.7320508075688772},"73":{"tf":1.0},"84":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"114":{"tf":1.0},"221":{"tf":1.0},"232":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"278":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"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":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":5,"docs":{"155":{"tf":1.0},"168":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0},"288":{"tf":1.7320508075688772}}}},"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":{"80":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"103":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":2.0},"208":{"tf":1.7320508075688772},"211":{"tf":1.4142135623730951},"238":{"tf":1.0},"239":{"tf":2.0},"240":{"tf":1.7320508075688772},"293":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":2.0},"86":{"tf":1.4142135623730951}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"184":{"tf":1.0},"188":{"tf":1.0},"230":{"tf":1.4142135623730951},"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"232":{"tf":1.0},"64":{"tf":1.0}}}},"l":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"221":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"127":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"177":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":66,"docs":{"109":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"158":{"tf":2.23606797749979},"159":{"tf":2.0},"160":{"tf":2.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":2.6457513110645907},"165":{"tf":4.0},"166":{"tf":1.0},"167":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"169":{"tf":1.0},"170":{"tf":2.6457513110645907},"171":{"tf":2.23606797749979},"172":{"tf":1.0},"173":{"tf":2.6457513110645907},"175":{"tf":2.23606797749979},"178":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951},"187":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":2.0},"194":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"199":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"254":{"tf":2.23606797749979},"255":{"tf":2.23606797749979},"256":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"266":{"tf":2.0},"267":{"tf":2.0},"272":{"tf":2.0},"273":{"tf":2.0},"274":{"tf":2.0},"279":{"tf":2.449489742783178},"28":{"tf":1.0},"280":{"tf":1.7320508075688772},"284":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"7":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}}}}},"i":{"c":{"df":4,"docs":{"140":{"tf":1.0},"165":{"tf":1.0},"244":{"tf":1.0},"250":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.4142135623730951},"274":{"tf":1.0},"281":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"133":{"tf":1.0},"223":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":8,"docs":{"130":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":2.0},"166":{"tf":2.0},"198":{"tf":1.0},"206":{"tf":1.0},"231":{"tf":1.0}},"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":{"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":{":":{"3":{"df":1,"docs":{"164":{"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":{}}}},"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":6,"docs":{"131":{"tf":1.0},"147":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}}}}}}},"df":13,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"170":{"tf":1.7320508075688772},"182":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"24":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"266":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"s":{"df":5,"docs":{"103":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"264":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":12,"docs":{"127":{"tf":1.0},"130":{"tf":2.23606797749979},"151":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"244":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":31,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"159":{"tf":1.0},"206":{"tf":1.0},"242":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"264":{"tf":1.0}}}},"u":{"d":{"df":17,"docs":{"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"156":{"tf":1.0},"173":{"tf":1.0},"199":{"tf":1.0},"220":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"38":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"244":{"tf":1.7320508075688772},"255":{"tf":1.7320508075688772}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"282":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"208":{"tf":1.0},"291":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"d":{"df":3,"docs":{"182":{"tf":1.0},"215":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"190":{"tf":1.0},"260":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}},"d":{"df":2,"docs":{"175":{"tf":2.23606797749979},"48":{"tf":1.0}},"e":{"df":1,"docs":{"131":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"199":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"208":{"tf":1.0},"230":{"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":{"177":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"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":{"177":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"175":{"tf":2.0},"176":{"tf":1.4142135623730951}}}},"df":2,"docs":{"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}},"df":14,"docs":{"101":{"tf":3.0},"102":{"tf":2.449489742783178},"137":{"tf":1.4142135623730951},"152":{"tf":2.449489742783178},"161":{"tf":3.0},"162":{"tf":3.4641016151377544},"164":{"tf":3.605551275463989},"165":{"tf":4.47213595499958},"288":{"tf":1.4142135623730951},"291":{"tf":3.1622776601683795},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.23606797749979}},"o":{"df":0,"docs":{},"f":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":6,"docs":{"152":{"tf":1.4142135623730951},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"175":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}},"i":{"c":{"df":8,"docs":{"115":{"tf":1.0},"130":{"tf":1.0},"137":{"tf":1.0},"154":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"177":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"184":{"tf":1.0},"241":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"264":{"tf":1.0}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"243":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"225":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"127":{"tf":2.23606797749979},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"254":{"tf":1.0},"5":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"130":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"214":{"tf":1.0},"246":{"tf":1.0},"256":{"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":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"o":{"df":2,"docs":{"110":{"tf":1.0},"32":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"152":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"198":{"tf":1.0},"239":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"142":{"tf":1.0},"164":{"tf":1.4142135623730951},"209":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"276":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"169":{"tf":1.4142135623730951},"264":{"tf":1.7320508075688772},"274":{"tf":2.8284271247461903},"279":{"tf":1.0},"280":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{".":{"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":{"206":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"206":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"+":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"288":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"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":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"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":{":":{"2":{"df":1,"docs":{"206":{"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":{}}}}}}}},"df":42,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"11":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.7320508075688772},"136":{"tf":1.0},"155":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":3.0},"205":{"tf":1.0},"206":{"tf":3.7416573867739413},"207":{"tf":2.449489742783178},"208":{"tf":1.7320508075688772},"209":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":2.0},"213":{"tf":2.23606797749979},"214":{"tf":1.0},"219":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"46":{"tf":2.23606797749979},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0},"94":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"235":{"tf":1.7320508075688772},"271":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"186":{"tf":1.0},"261":{"tf":1.0},"83":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"+":{"+":{"+":{"!":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"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":{},"}":{"+":{"+":{"+":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"203":{"tf":1.0}}},"b":{"df":1,"docs":{"203":{"tf":1.0}}},"df":3,"docs":{"180":{"tf":1.0},"184":{"tf":1.0},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"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":{"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"52":{"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":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"297":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"140":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":3.4641016151377544},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"262":{"tf":1.0},"291":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":6,"docs":{"149":{"tf":1.0},"173":{"tf":1.0},"199":{"tf":1.0},"244":{"tf":1.0},"286":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"213":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":9,"docs":{"109":{"tf":1.0},"151":{"tf":1.0},"236":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"76":{"tf":1.0},"77":{"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":7,"docs":{"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"127":{"tf":1.0},"188":{"tf":1.7320508075688772},"206":{"tf":2.449489742783178},"207":{"tf":1.0},"291":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":13,"docs":{"108":{"tf":3.4641016151377544},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"138":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"207":{"tf":1.7320508075688772},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0},"293":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"184":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":7,"docs":{"121":{"tf":1.4142135623730951},"130":{"tf":1.0},"188":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":32,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"152":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"218":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":1.0},"90":{"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},"234":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":86,"docs":{"101":{"tf":2.6457513110645907},"102":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"108":{"tf":2.8284271247461903},"109":{"tf":2.23606797749979},"114":{"tf":2.0},"115":{"tf":1.0},"117":{"tf":2.0},"120":{"tf":1.7320508075688772},"122":{"tf":2.449489742783178},"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":2.23606797749979},"136":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":2.6457513110645907},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":2.23606797749979},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"158":{"tf":2.0},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":3.0},"165":{"tf":3.7416573867739413},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.0},"177":{"tf":2.449489742783178},"180":{"tf":2.449489742783178},"181":{"tf":2.449489742783178},"184":{"tf":1.7320508075688772},"186":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"192":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"206":{"tf":2.23606797749979},"207":{"tf":2.23606797749979},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"232":{"tf":1.0},"239":{"tf":2.8284271247461903},"240":{"tf":1.4142135623730951},"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":2.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":1.7320508075688772},"291":{"tf":4.47213595499958},"294":{"tf":3.4641016151377544},"295":{"tf":1.4142135623730951},"296":{"tf":2.0},"297":{"tf":1.0},"300":{"tf":4.358898943540674},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"60":{"tf":1.4142135623730951},"72":{"tf":2.6457513110645907},"75":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"137":{"tf":1.0},"84":{"tf":1.0}},"r":{"df":3,"docs":{"222":{"tf":1.0},"260":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"n":{"d":{"df":17,"docs":{"136":{"tf":1.0},"138":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"194":{"tf":1.4142135623730951},"200":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"243":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"284":{"tf":1.0},"64":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"115":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"157":{"tf":1.0},"188":{"tf":1.0},"245":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"174":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"101":{"tf":1.0},"158":{"tf":1.0},"209":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"122":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"118":{"tf":1.0},"201":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"184":{"tf":1.0},"229":{"tf":1.0},"258":{"tf":1.0},"272":{"tf":1.0},"280":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"f":{"a":{"c":{"df":8,"docs":{"157":{"tf":1.7320508075688772},"160":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":2.0},"172":{"tf":1.0},"193":{"tf":1.0},"276":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}}}}}}}}}}}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"n":{"d":{"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":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":5,"docs":{"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}}}},"df":17,"docs":{"179":{"tf":1.0},"183":{"tf":1.0},"201":{"tf":2.23606797749979},"208":{"tf":1.0},"209":{"tf":3.4641016151377544},"236":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.4142135623730951},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"286":{"tf":1.0},"3":{"tf":1.0},"70":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"117":{"tf":2.0}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"128":{"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":{"107":{"tf":1.0},"108":{"tf":2.449489742783178},"109":{"tf":3.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"243":{"tf":1.0},"254":{"tf":1.0},"93":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":6,"docs":{"19":{"tf":1.0},"236":{"tf":1.0},"240":{"tf":1.0},"247":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}},"t":{"df":1,"docs":{"199":{"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":{"114":{"tf":2.0}}}}}}}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"<":{"df":0,"docs":{},"x":{"df":1,"docs":{"126":{"tf":1.0}}}},"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":2.0}}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":25,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"239":{"tf":1.4142135623730951},"254":{"tf":1.0},"270":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"118":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"245":{"tf":1.0},"274":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"k":{"df":5,"docs":{"188":{"tf":1.0},"235":{"tf":1.0},"25":{"tf":1.7320508075688772},"293":{"tf":1.0},"32":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"286":{"tf":1.0}}}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"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":{},"n":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"103":{"tf":1.0},"153":{"tf":1.0},"213":{"tf":1.0},"235":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"179":{"tf":1.0},"190":{"tf":1.0},"208":{"tf":1.4142135623730951},"222":{"tf":1.0},"231":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":10,"docs":{"116":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"230":{"tf":1.4142135623730951},"246":{"tf":1.0},"268":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"t":{"'":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":56,"docs":{"10":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"233":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"245":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"29":{"tf":1.0},"299":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"203":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"230":{"tf":1.0}}},"r":{"df":7,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"76":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":25,"docs":{"117":{"tf":1.0},"147":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"164":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"217":{"tf":1.0},"222":{"tf":1.0},"249":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.4142135623730951},"280":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"221":{"tf":1.0},"233":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"189":{"tf":1.0},"218":{"tf":1.7320508075688772},"25":{"tf":1.0},"33":{"tf":2.449489742783178}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"207":{"tf":2.0},"221":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951}}}}},"v":{"a":{"'":{"df":3,"docs":{"172":{"tf":1.4142135623730951},"278":{"tf":1.0},"55":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"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":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":1,"docs":{"284":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"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":{"291":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"83":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":2,"docs":{"151":{"tf":1.0},"169":{"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":{},"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":{}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"243":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":20,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":2.8284271247461903},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"189":{"tf":1.0},"198":{"tf":1.0},"218":{"tf":1.0},"22":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951},"33":{"tf":2.0},"66":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"180":{"tf":1.7320508075688772}},"o":{"b":{"df":2,"docs":{"140":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"64":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"276":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"300":{"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":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"221":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"257":{"tf":3.0},"258":{"tf":1.4142135623730951}}}}},"u":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"252":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"214":{"tf":1.0}}},"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":2,"docs":{"293":{"tf":6.082762530298219},"99":{"tf":1.0}}}},"df":5,"docs":{"293":{"tf":5.830951894845301},"58":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":20,"docs":{"116":{"tf":1.0},"131":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"18":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"268":{"tf":1.0},"33":{"tf":1.0}}}},"y":{"df":10,"docs":{"183":{"tf":1.0},"230":{"tf":1.0},"273":{"tf":1.0},"293":{"tf":5.830951894845301},"39":{"tf":1.0},"58":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.0}}}},"n":{"d":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"280":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":22,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"189":{"tf":1.0},"194":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":3,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":14,"docs":{"107":{"tf":1.0},"108":{"tf":2.0},"13":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"183":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.4142135623730951},"276":{"tf":1.0},"278":{"tf":1.0},"64":{"tf":1.4142135623730951},"71":{"tf":1.0}}}}}}},"l":{"1":{"2":{"3":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"187":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"184":{"tf":1.4142135623730951},"187":{"tf":2.6457513110645907}}},"2":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"187":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"184":{"tf":1.4142135623730951},"187":{"tf":2.6457513110645907}}},"[":{"0":{"df":4,"docs":{"150":{"tf":1.7320508075688772},"156":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}},"9":{"9":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":3,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"156":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"175":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"271":{"tf":1.4142135623730951}}}},"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}}}}}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"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":{"135":{"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":{"148":{"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":15,"docs":{"114":{"tf":1.4142135623730951},"135":{"tf":2.0},"144":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":1.4142135623730951},"147":{"tf":2.6457513110645907},"148":{"tf":2.0},"149":{"tf":2.449489742783178},"150":{"tf":1.0},"155":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"241":{"tf":2.23606797749979},"250":{"tf":2.0},"293":{"tf":1.4142135623730951}}},"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":11,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"/":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"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":{":":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"278":{"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":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"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":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{"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":7,"docs":{"189":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"=":{"\\":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.0}}}}},"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":47,"docs":{"1":{"tf":1.0},"103":{"tf":1.0},"107":{"tf":2.0},"113":{"tf":1.0},"131":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"151":{"tf":1.7320508075688772},"158":{"tf":1.0},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.4142135623730951},"198":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.4142135623730951},"220":{"tf":1.0},"222":{"tf":1.4142135623730951},"228":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"24":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"259":{"tf":1.4142135623730951},"260":{"tf":1.0},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"33":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.4142135623730951}},"e":{"'":{"df":2,"docs":{"260":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":15,"docs":{"182":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0},"278":{"tf":1.0},"51":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"190":{"tf":1.4142135623730951},"232":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"174":{"tf":1.0},"230":{"tf":1.0},"291":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0},"79":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":9,"docs":{"110":{"tf":1.0},"144":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.0},"244":{"tf":1.0},"278":{"tf":1.4142135623730951},"288":{"tf":1.0},"93":{"tf":2.0},"94":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"122":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"213":{"tf":2.23606797749979},"235":{"tf":1.7320508075688772}}}}},"df":22,"docs":{"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":2.23606797749979},"248":{"tf":1.4142135623730951},"281":{"tf":1.0},"45":{"tf":1.0},"60":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":15,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.0},"160":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.4142135623730951},"246":{"tf":1.0},"252":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":15,"docs":{"14":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"214":{"tf":1.4142135623730951},"262":{"tf":1.0},"280":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"67":{"tf":1.0}}}},"v":{"df":10,"docs":{"107":{"tf":1.0},"147":{"tf":1.0},"166":{"tf":1.0},"178":{"tf":1.0},"215":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"298":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":9,"docs":{"107":{"tf":1.0},"128":{"tf":2.8284271247461903},"129":{"tf":2.6457513110645907},"153":{"tf":1.0},"154":{"tf":1.0},"179":{"tf":2.23606797749979},"217":{"tf":1.0},"271":{"tf":1.0},"291":{"tf":1.0}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"103":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"248":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"n":{"(":{"\"":{"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":{},"t":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"155":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0}},"l":{"df":5,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"156":{"tf":1.0},"175":{"tf":1.0},"90":{"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":{"180":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"180":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{")":{".":{"df":0,"docs":{},"v":{"df":2,"docs":{"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":2,"docs":{"168":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"64":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"110":{"tf":1.0},"172":{"tf":1.0},"229":{"tf":1.0}}},"t":{"df":1,"docs":{"184":{"tf":1.0}}}},"t":{"'":{"df":10,"docs":{"15":{"tf":1.0},"152":{"tf":1.0},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.0},"212":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0}}},"df":2,"docs":{"130":{"tf":1.0},"189":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"194":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":21,"docs":{"116":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"233":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"273":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"83":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"119":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"260":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"h":{"df":4,"docs":{"134":{"tf":1.0},"135":{"tf":2.0},"145":{"tf":1.4142135623730951},"158":{"tf":1.0}},"s":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"158":{"tf":1.0}}}}}}}},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"215":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"5":{"tf":1.0},"86":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":1,"docs":{"243":{"tf":1.4142135623730951}}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"209":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"174":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"210":{"tf":1.0},"213":{"tf":1.0}}}}}}},"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":{"111":{"tf":2.0},"112":{"tf":2.449489742783178},"113":{"tf":2.449489742783178},"74":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":2.6457513110645907}}}}}}}}}},"df":1,"docs":{"111":{"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":2,"docs":{"215":{"tf":1.0},"244":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":16,"docs":{"113":{"tf":1.0},"133":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"205":{"tf":1.0},"244":{"tf":1.0},"245":{"tf":1.0},"250":{"tf":1.0},"258":{"tf":1.0},"277":{"tf":1.4142135623730951},"300":{"tf":1.0},"69":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"293":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":26,"docs":{"150":{"tf":1.0},"2":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.7320508075688772},"220":{"tf":2.449489742783178},"228":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"84":{"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":3,"docs":{"110":{"tf":1.0},"169":{"tf":1.0},"300":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"110":{"tf":1.7320508075688772}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"291":{"tf":1.0}}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":44,"docs":{"110":{"tf":1.4142135623730951},"136":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":2.0},"156":{"tf":1.4142135623730951},"173":{"tf":1.7320508075688772},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"181":{"tf":1.0},"183":{"tf":2.449489742783178},"184":{"tf":2.8284271247461903},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"204":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"247":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.7320508075688772},"270":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":3.0},"291":{"tf":6.855654600401044},"298":{"tf":1.7320508075688772},"36":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":2.6457513110645907},"87":{"tf":2.23606797749979},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":2.0},"91":{"tf":2.23606797749979},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.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":{"91":{"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":{"184":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":5,"docs":{"281":{"tf":1.4142135623730951},"60":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"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":{"77":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":2,"docs":{"84":{"tf":1.0},"91":{"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":{"184":{"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},"244":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"114":{"tf":1.0},"137":{"tf":1.7320508075688772},"263":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"49":{"tf":2.0},"84":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}},"l":{"df":3,"docs":{"156":{"tf":1.0},"165":{"tf":1.0},"288":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"147":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"246":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"246":{"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":3,"docs":{"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":7,"docs":{"189":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{":":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"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":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":4,"docs":{"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"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":12,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"214":{"tf":1.0},"24":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"278":{"tf":1.0},"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"147":{"tf":1.0},"22":{"tf":1.0},"221":{"tf":1.0},"238":{"tf":1.4142135623730951},"249":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"221":{"tf":1.0},"257":{"tf":1.0}}}}}}},"t":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"196":{"tf":1.0},"237":{"tf":1.0},"24":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.0}}}},"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"212":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"212":{"tf":1.0}}}}}},"df":5,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"213":{"tf":1.7320508075688772},"257":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}},"i":{"c":{"df":23,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"140":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.0},"173":{"tf":1.4142135623730951},"180":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"244":{"tf":1.7320508075688772},"246":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"147":{"tf":1.0},"173":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0},"248":{"tf":1.0},"255":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"292":{"tf":1.7320508075688772},"296":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.4142135623730951},"244":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"228":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"228":{"tf":1.4142135623730951},"229":{"tf":1.0}}},"df":0,"docs":{}}},"df":19,"docs":{"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"145":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"34":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"160":{"tf":1.0}}}}},"p":{"'":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":21,"docs":{"155":{"tf":1.0},"186":{"tf":1.0},"197":{"tf":1.0},"214":{"tf":1.0},"246":{"tf":1.0},"256":{"tf":1.0},"270":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"98":{"tf":1.0}}},"s":{"df":1,"docs":{"198":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"244":{"tf":1.7320508075688772},"277":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},"t":{"df":4,"docs":{"201":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0}}},"w":{"df":5,"docs":{"152":{"tf":1.0},"187":{"tf":1.0},"244":{"tf":1.0},"276":{"tf":1.4142135623730951},"45":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"230":{"tf":1.0}}}}},"o":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":10,"docs":{"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"270":{"tf":2.0},"271":{"tf":2.449489742783178},"273":{"tf":1.0},"275":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":2.0},"279":{"tf":1.7320508075688772},"280":{"tf":1.4142135623730951}},"s":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":17,"docs":{"11":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"187":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"243":{"tf":1.0},"256":{"tf":1.0},"275":{"tf":1.0},"293":{"tf":2.449489742783178},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}},"df":3,"docs":{"228":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"254":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"172":{"tf":1.0}}}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":12,"docs":{"189":{"tf":1.0},"197":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"267":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}}},"df":10,"docs":{"211":{"tf":1.0},"212":{"tf":2.0},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"234":{"tf":1.0},"25":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951},"27":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":14,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"165":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"215":{"tf":1.0},"226":{"tf":1.0},"252":{"tf":1.0},"273":{"tf":1.0},"7":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"118":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"272":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"131":{"tf":1.0},"155":{"tf":1.0},"269":{"tf":1.0},"82":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":61,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.0},"18":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"211":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"226":{"tf":1.0},"227":{"tf":1.7320508075688772},"229":{"tf":1.0},"230":{"tf":2.0},"239":{"tf":1.0},"243":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"245":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.0},"252":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"257":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":2.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"280":{"tf":1.0},"300":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0},"95":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"c":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"272":{"tf":1.0},"273":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"(":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":3,"docs":{"274":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.4142135623730951}}}}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"231":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"244":{"tf":1.0},"5":{"tf":1.0},"70":{"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":{"156":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"51":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"242":{"tf":1.0}}},"i":{"df":26,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"151":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"39":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"140":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"260":{"tf":1.0},"82":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"209":{"tf":1.0},"260":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":17,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"150":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.7320508075688772},"209":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"242":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.4142135623730951},"277":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"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":{"184":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"<":{"a":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":10,"docs":{"230":{"tf":1.0},"293":{"tf":8.0},"39":{"tf":1.0},"58":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":2.23606797749979},"98":{"tf":1.4142135623730951},"99":{"tf":2.6457513110645907}},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"146":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"230":{"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":{"99":{"tf":1.0}}}}},"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":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"293":{"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":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":2.23606797749979}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"263":{"tf":1.4142135623730951}}}}}},"df":3,"docs":{"16":{"tf":1.0},"209":{"tf":1.0},"243":{"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":{"69":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"69":{"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":21,"docs":{"102":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"186":{"tf":1.0},"219":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951},"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"68":{"tf":1.4142135623730951},"69":{"tf":3.605551275463989},"70":{"tf":2.23606797749979},"71":{"tf":1.7320508075688772},"72":{"tf":2.6457513110645907},"73":{"tf":2.449489742783178},"74":{"tf":3.1622776601683795},"75":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"294":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"180":{"tf":1.0},"223":{"tf":1.0},"25":{"tf":1.0},"272":{"tf":1.0}}}}}},"x":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"186":{"tf":2.23606797749979}}}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"177":{"tf":2.0}}},"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"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":{"127":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"125":{"tf":1.0},"127":{"tf":1.0}}}}},"1":{"0":{"df":1,"docs":{"125":{"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":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"125":{"tf":1.0},"127":{"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":{"127":{"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":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"127":{"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":{"235":{"tf":2.23606797749979}}}}},"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}}}}}}}}}}}},"df":5,"docs":{"288":{"tf":1.7320508075688772},"293":{"tf":2.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":28,"docs":{"132":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.4142135623730951},"171":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0},"195":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"252":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"288":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"111":{"tf":1.0},"187":{"tf":1.0},"244":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}}},"t":{"df":1,"docs":{"280":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":22,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"171":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"245":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.0},"39":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"51":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"235":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"183":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.0},"237":{"tf":1.4142135623730951},"244":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"157":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"153":{"tf":1.0},"174":{"tf":1.0},"214":{"tf":1.0},"224":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"293":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"221":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":1,"docs":{"262":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":14,"docs":{"229":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"265":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"158":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"df":7,"docs":{"170":{"tf":2.0},"220":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"124":{"tf":2.23606797749979}},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.4142135623730951}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":3,"docs":{"272":{"tf":1.0},"279":{"tf":1.0},"48":{"tf":1.0}}}},"n":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":11,"docs":{"116":{"tf":1.0},"131":{"tf":1.0},"166":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"220":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"260":{"tf":1.0},"69":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"263":{"tf":1.4142135623730951},"291":{"tf":1.0},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"291":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"155":{"tf":1.0}}}},"u":{"df":1,"docs":{"278":{"tf":1.0}},"t":{"df":2,"docs":{"11":{"tf":1.0},"189":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":5,"docs":{"189":{"tf":1.0},"229":{"tf":1.0},"254":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"112":{"tf":1.7320508075688772},"189":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"230":{"tf":1.0},"75":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"244":{"tf":1.0}}}}},"x":{"df":1,"docs":{"85":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":20,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"122":{"tf":1.0},"151":{"tf":2.0},"152":{"tf":1.0},"153":{"tf":1.0},"157":{"tf":1.0},"189":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"274":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"98":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"274":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"249":{"tf":1.0},"298":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"198":{"tf":1.0}}}},"df":85,"docs":{"127":{"tf":1.0},"152":{"tf":1.0},"16":{"tf":1.0},"164":{"tf":1.0},"17":{"tf":1.7320508075688772},"189":{"tf":1.4142135623730951},"190":{"tf":2.23606797749979},"191":{"tf":1.7320508075688772},"192":{"tf":1.4142135623730951},"193":{"tf":1.4142135623730951},"194":{"tf":3.4641016151377544},"195":{"tf":1.7320508075688772},"196":{"tf":1.0},"197":{"tf":1.4142135623730951},"198":{"tf":2.23606797749979},"199":{"tf":2.23606797749979},"2":{"tf":1.0},"200":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"204":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.7320508075688772},"211":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"220":{"tf":1.7320508075688772},"221":{"tf":1.7320508075688772},"224":{"tf":1.0},"225":{"tf":1.7320508075688772},"226":{"tf":2.0},"227":{"tf":1.0},"228":{"tf":2.6457513110645907},"229":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"255":{"tf":1.0},"265":{"tf":1.4142135623730951},"266":{"tf":2.0},"267":{"tf":2.449489742783178},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":2.6457513110645907},"279":{"tf":3.1622776601683795},"281":{"tf":2.23606797749979},"283":{"tf":1.4142135623730951},"284":{"tf":1.7320508075688772},"285":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"291":{"tf":2.449489742783178},"292":{"tf":1.4142135623730951},"293":{"tf":2.449489742783178},"294":{"tf":1.4142135623730951},"295":{"tf":1.4142135623730951},"296":{"tf":1.4142135623730951},"297":{"tf":1.4142135623730951},"298":{"tf":2.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.4142135623730951},"301":{"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},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"'":{"df":13,"docs":{"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"219":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.7320508075688772},"286":{"tf":1.0}}},"(":{"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":17,"docs":{"195":{"tf":1.4142135623730951},"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"266":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0},"286":{"tf":1.0},"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":5,"docs":{"172":{"tf":1.0},"198":{"tf":1.0},"243":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0}}}}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"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":3,"docs":{"139":{"tf":1.0},"160":{"tf":1.4142135623730951},"171":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":86,"docs":{"101":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"138":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"193":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.7320508075688772},"221":{"tf":1.0},"222":{"tf":1.4142135623730951},"224":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.7320508075688772},"229":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.7320508075688772},"237":{"tf":1.4142135623730951},"241":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":2.0},"260":{"tf":1.7320508075688772},"261":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"280":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"279":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":7,"docs":{"189":{"tf":1.0},"221":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.4142135623730951},"271":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0}}},"i":{"df":1,"docs":{"231":{"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":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"124":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"124":{"tf":2.23606797749979}}}},"s":{"df":0,"docs":{},"g":{"df":7,"docs":{"212":{"tf":1.0},"228":{"tf":1.4142135623730951},"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":27,"docs":{"107":{"tf":1.4142135623730951},"131":{"tf":1.0},"156":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.0},"221":{"tf":1.0},"227":{"tf":1.0},"231":{"tf":1.4142135623730951},"233":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"277":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"197":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"239":{"tf":1.0},"240":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":28,"docs":{"138":{"tf":1.0},"139":{"tf":1.0},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"187":{"tf":1.0},"193":{"tf":1.0},"199":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.4142135623730951},"239":{"tf":1.0},"241":{"tf":1.0},"266":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"293":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":2,"docs":{"192":{"tf":1.0},"193":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"291":{"tf":1.0},"293":{"tf":1.0}}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":32,"docs":{"103":{"tf":2.0},"106":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"180":{"tf":2.23606797749979},"181":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"187":{"tf":2.449489742783178},"188":{"tf":1.4142135623730951},"201":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":2.449489742783178},"240":{"tf":1.7320508075688772},"241":{"tf":2.0},"242":{"tf":2.449489742783178},"243":{"tf":2.23606797749979},"293":{"tf":2.0},"298":{"tf":1.0},"4":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":2.8284271247461903},"86":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.0}}}},"t":{"df":16,"docs":{"103":{"tf":2.8284271247461903},"106":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":2.0},"183":{"tf":1.0},"187":{"tf":1.0},"201":{"tf":1.0},"207":{"tf":2.0},"209":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":1.0},"242":{"tf":1.0},"84":{"tf":1.0}}}},"df":41,"docs":{"103":{"tf":2.449489742783178},"106":{"tf":2.0},"150":{"tf":2.23606797749979},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"173":{"tf":2.0},"178":{"tf":2.23606797749979},"179":{"tf":3.1622776601683795},"180":{"tf":3.872983346207417},"181":{"tf":1.4142135623730951},"183":{"tf":1.7320508075688772},"184":{"tf":2.23606797749979},"187":{"tf":3.605551275463989},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"281":{"tf":1.7320508075688772},"284":{"tf":1.0},"291":{"tf":5.830951894845301},"293":{"tf":5.744562646538029},"295":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":6.082762530298219},"60":{"tf":1.4142135623730951},"77":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":3.1622776601683795},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":2.0},"77":{"tf":1.4142135623730951},"80":{"tf":1.0},"85":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"y":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"b":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"210":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"251":{"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":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"178":{"tf":2.23606797749979}}},"y":{"[":{"2":{"df":1,"docs":{"178":{"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":{"116":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"286":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"286":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":2.0}}}}},"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":3,"docs":{"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"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":{"96":{"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":{"96":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"96":{"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":{"251":{"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":{"138":{"tf":1.0}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"[":{"0":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"101":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"102":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}},"2":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"df":3,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"%":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"=":{"\\":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":60,"docs":{"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"11":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.7320508075688772},"194":{"tf":2.6457513110645907},"195":{"tf":1.7320508075688772},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":2.449489742783178},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"220":{"tf":2.0},"223":{"tf":1.0},"224":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":2.0},"23":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.0},"255":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"266":{"tf":1.7320508075688772},"267":{"tf":2.449489742783178},"269":{"tf":2.0},"270":{"tf":1.7320508075688772},"272":{"tf":1.7320508075688772},"273":{"tf":2.23606797749979},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":2.449489742783178},"281":{"tf":1.0},"286":{"tf":1.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"83":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{"184":{"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":3,"docs":{"109":{"tf":2.449489742783178},"110":{"tf":1.0},"154":{"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":{"109":{"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":{}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"270":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"220":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":3,"docs":{"170":{"tf":1.7320508075688772},"262":{"tf":1.0},"288":{"tf":2.449489742783178}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"102":{"tf":1.0},"108":{"tf":1.4142135623730951},"139":{"tf":1.0},"153":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"209":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"291":{"tf":1.0},"69":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"209":{"tf":1.0},"274":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":53,"docs":{"103":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"19":{"tf":1.0},"190":{"tf":1.0},"204":{"tf":1.0},"208":{"tf":1.0},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"250":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"279":{"tf":1.0},"281":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"f":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"248":{"tf":1.0}}},"t":{"df":12,"docs":{"130":{"tf":1.0},"131":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":4,"docs":{"209":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"130":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"186":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.4142135623730951},"244":{"tf":1.7320508075688772},"265":{"tf":1.0},"275":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":37,"docs":{"115":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":1.0},"128":{"tf":1.0},"156":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"18":{"tf":1.0},"183":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":2.0},"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},"65":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"38":{"tf":1.0},"42":{"tf":1.0}},"n":{"df":1,"docs":{"262":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":51,"docs":{"110":{"tf":1.0},"120":{"tf":2.23606797749979},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.7320508075688772},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"175":{"tf":1.0},"181":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":1.0},"192":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"229":{"tf":1.0},"243":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"299":{"tf":1.4142135623730951},"301":{"tf":1.0},"72":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"tf":1.7320508075688772}},"u":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":14,"docs":{"110":{"tf":2.8284271247461903},"14":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":2.0},"162":{"tf":2.6457513110645907},"164":{"tf":2.6457513110645907},"165":{"tf":3.3166247903554},"186":{"tf":2.0},"260":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{"296":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}}}}},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":2.6457513110645907}}}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"284":{"tf":3.3166247903554},"295":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":1.7320508075688772}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"129":{"tf":2.23606797749979}}}}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.449489742783178}}}}},"t":{"df":5,"docs":{"129":{"tf":1.0},"161":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.449489742783178}}}},"a":{"df":1,"docs":{"240":{"tf":2.23606797749979}}},"b":{"df":2,"docs":{"239":{"tf":2.0},"240":{"tf":2.0}}},"c":{"df":2,"docs":{"239":{"tf":2.23606797749979},"240":{"tf":2.23606797749979}}},"df":15,"docs":{"110":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.7320508075688772},"231":{"tf":3.3166247903554},"232":{"tf":3.1622776601683795},"233":{"tf":1.4142135623730951},"235":{"tf":2.8284271247461903},"238":{"tf":1.4142135623730951},"239":{"tf":3.1622776601683795},"240":{"tf":3.1622776601683795},"244":{"tf":1.7320508075688772},"246":{"tf":1.0},"248":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"32":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"118":{"tf":1.7320508075688772}}}}},"n":{"df":21,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"110":{"tf":1.0},"137":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"194":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"244":{"tf":1.4142135623730951},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"291":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"75":{"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":{"64":{"tf":1.0}},"e":{"[":{"0":{"df":1,"docs":{"64":{"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":{"64":{"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":2,"docs":{"108":{"tf":1.0},"288":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":2,"docs":{"246":{"tf":1.0},"248":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"281":{"tf":1.0},"288":{"tf":1.7320508075688772}}}},"df":1,"docs":{"170":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"202":{"tf":2.23606797749979},"300":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"o":{"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"279":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":61,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"161":{"tf":1.0},"164":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"214":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.0},"27":{"tf":1.0},"298":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}},"h":{"df":10,"docs":{"128":{"tf":2.23606797749979},"129":{"tf":2.0},"164":{"tf":1.0},"172":{"tf":1.0},"181":{"tf":1.0},"206":{"tf":1.0},"239":{"tf":1.0},"278":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0}}},"i":{"c":{"df":16,"docs":{"156":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.4142135623730951},"194":{"tf":1.0},"195":{"tf":1.0},"215":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"279":{"tf":1.0},"32":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"157":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"252":{"tf":1.0}}}}},"w":{"df":45,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"158":{"tf":1.0},"165":{"tf":2.23606797749979},"171":{"tf":1.0},"180":{"tf":2.0},"184":{"tf":1.7320508075688772},"189":{"tf":1.4142135623730951},"198":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":1.7320508075688772},"209":{"tf":1.0},"210":{"tf":1.0},"219":{"tf":1.4142135623730951},"221":{"tf":1.7320508075688772},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":2.449489742783178},"28":{"tf":1.0},"286":{"tf":1.0},"299":{"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},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"130":{"tf":1.0},"161":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":2.0},"234":{"tf":1.0},"244":{"tf":1.4142135623730951},"266":{"tf":1.0},"291":{"tf":1.0},"45":{"tf":2.0},"63":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}}}},"df":1,"docs":{"206":{"tf":1.7320508075688772}},"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":{"192":{"tf":1.0},"193":{"tf":1.0}}}}},"t":{"df":1,"docs":{"192":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"7":{"df":1,"docs":{"206":{"tf":1.0}}},"8":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"8":{"df":1,"docs":{"206":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"247":{"tf":1.0}}}}}}}},"{":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}}}},"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":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}}},"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":6,"docs":{"142":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":5,"docs":{"131":{"tf":1.0},"134":{"tf":1.0},"168":{"tf":1.0},"199":{"tf":1.0},"272":{"tf":1.0}},"s":{"df":3,"docs":{"169":{"tf":1.0},"201":{"tf":1.0},"242":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"184":{"tf":1.0},"213":{"tf":1.0},"237":{"tf":1.0},"291":{"tf":1.0}},"r":{"df":3,"docs":{"155":{"tf":1.0},"174":{"tf":1.0},"291":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"7":{"df":1,"docs":{"206":{"tf":1.0}}},"8":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"206":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":2,"docs":{"138":{"tf":1.4142135623730951},"87":{"tf":1.0}},"f":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"284":{"tf":1.0},"295":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"235":{"tf":1.4142135623730951},"257":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"66":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"207":{"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":{"155":{"tf":1.0}}}}}}}}},"k":{"df":4,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"272":{"tf":1.0},"299":{"tf":1.0}}},"l":{"d":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"293":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"tf":1.0}},"u":{"df":1,"docs":{"293":{"tf":1.0}}},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"106":{"tf":1.0},"131":{"tf":1.0},"223":{"tf":1.0}}}}},"n":{"c":{"df":15,"docs":{"11":{"tf":1.0},"165":{"tf":1.0},"189":{"tf":1.0},"213":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.4142135623730951},"280":{"tf":1.0},"288":{"tf":1.4142135623730951},"293":{"tf":1.0},"296":{"tf":1.0},"300":{"tf":1.0},"64":{"tf":1.0},"9":{"tf":1.0}}},"df":60,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":1.0},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0},"182":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"232":{"tf":1.0},"234":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"250":{"tf":1.0},"261":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.7320508075688772},"29":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0}},"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":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"[":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"a":{"df":2,"docs":{"138":{"tf":1.0},"154":{"tf":2.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"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":2,"docs":{"291":{"tf":1.4142135623730951},"297":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"c":{"a":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.0},"297":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"168":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":2.0},"138":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"186":{"tf":1.0},"202":{"tf":2.0},"290":{"tf":1.0},"291":{"tf":2.0},"297":{"tf":1.0},"300":{"tf":2.0}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"128":{"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":{"110":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"292":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":5,"docs":{"129":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}}}}}},"r":{"df":4,"docs":{"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"74":{"tf":2.0}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"d":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":8,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"207":{"tf":1.0},"284":{"tf":2.449489742783178},"291":{"tf":1.0},"297":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":7,"docs":{"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"221":{"tf":1.0},"286":{"tf":1.0},"297":{"tf":2.23606797749979}}}}},"t":{"df":9,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"175":{"tf":1.0},"284":{"tf":2.449489742783178},"291":{"tf":2.0},"295":{"tf":1.4142135623730951},"299":{"tf":1.0}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"293":{"tf":3.872983346207417}}}},"df":9,"docs":{"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"110":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"154":{"tf":1.4142135623730951},"160":{"tf":1.0},"75":{"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":{"108":{"tf":1.0}}},"4":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"209":{"tf":1.0}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"205":{"tf":1.0}}}},"u":{"df":2,"docs":{"175":{"tf":1.0},"186":{"tf":1.0}}}},"o":{"df":1,"docs":{"264":{"tf":1.0}},"m":{"df":1,"docs":{"244":{"tf":1.0}}},"p":{"df":2,"docs":{"169":{"tf":1.4142135623730951},"170":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":15,"docs":{"201":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"229":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"271":{"tf":1.0},"284":{"tf":1.0},"286":{"tf":1.4142135623730951},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"301":{"tf":1.0}}}}},"df":2,"docs":{"184":{"tf":1.0},"233":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"172":{"tf":1.0},"209":{"tf":1.0},"277":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"$":{"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.0}}}}},"x":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":23,"docs":{"108":{"tf":1.4142135623730951},"122":{"tf":1.0},"13":{"tf":1.0},"142":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.7320508075688772},"161":{"tf":1.0},"207":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":1.7320508075688772},"244":{"tf":2.23606797749979},"245":{"tf":1.0},"247":{"tf":1.0},"291":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"76":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"93":{"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":{"230":{"tf":1.0}}}}}},"s":{"df":1,"docs":{"169":{"tf":1.4142135623730951}}}}},"t":{"df":10,"docs":{"102":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"174":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"242":{"tf":1.0},"261":{"tf":1.0},"274":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":7,"docs":{"182":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.7320508075688772},"213":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"3":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":13,"docs":{"106":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"20":{"tf":1.0},"204":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":1.0},"268":{"tf":1.0},"279":{"tf":1.0},"293":{"tf":1.0},"39":{"tf":1.0},"77":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.4142135623730951},"149":{"tf":1.0},"180":{"tf":1.0},"194":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"230":{"tf":2.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.0},"254":{"tf":1.4142135623730951},"264":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":2.23606797749979},"291":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":4,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"264":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.4142135623730951},"278":{"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":{"180":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":10,"docs":{"109":{"tf":1.0},"149":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":2.8284271247461903},"181":{"tf":2.449489742783178},"183":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"229":{"tf":1.0},"293":{"tf":1.7320508075688772}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"230":{"tf":1.0},"272":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":7,"docs":{"134":{"tf":1.0},"188":{"tf":1.0},"208":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"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":{"150":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"209":{"tf":1.0},"247":{"tf":1.0}}}}},"df":42,"docs":{"101":{"tf":1.7320508075688772},"110":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":2.23606797749979},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"189":{"tf":1.7320508075688772},"199":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.4142135623730951},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"258":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":2.0},"267":{"tf":2.0},"269":{"tf":1.7320508075688772},"270":{"tf":2.0},"271":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":2.0},"280":{"tf":1.0},"282":{"tf":1.0},"288":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":2.0},"180":{"tf":1.0},"183":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"198":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":112,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"248":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"279":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"68":{"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},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"142":{"tf":1.0},"147":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"223":{"tf":1.0},"233":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"271":{"tf":1.0},"281":{"tf":1.4142135623730951},"286":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"\"":{"/":{"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"241":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"184":{"tf":1.0},"200":{"tf":1.0},"227":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"68":{"tf":1.0}}}},"df":61,"docs":{"108":{"tf":1.4142135623730951},"127":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"186":{"tf":1.4142135623730951},"194":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"226":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.4142135623730951},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"114":{"tf":1.0},"160":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"205":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"264":{"tf":1.0}}},"o":{"a":{"d":{"df":2,"docs":{"167":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"279":{"tf":1.0}}}}},"df":2,"docs":{"170":{"tf":1.7320508075688772},"279":{"tf":2.6457513110645907}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"116":{"tf":1.0},"124":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"222":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}}}}},"p":{">":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"17":{"tf":1.0},"195":{"tf":1.0},"21":{"tf":1.0},"225":{"tf":2.0},"226":{"tf":2.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":1,"docs":{"300":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"263":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"189":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"i":{"c":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"102":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"79":{"tf":1.0},"90":{"tf":1.0}},"k":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":2,"docs":{"169":{"tf":1.0},"273":{"tf":1.0}}}}}},"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":{"231":{"tf":1.0}}}}}}}},"m":{"(":{"df":1,"docs":{"156":{"tf":1.0}}},"df":7,"docs":{"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"156":{"tf":1.0},"161":{"tf":1.7320508075688772},"162":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"139":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.4142135623730951},"271":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"181":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":8,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":2.23606797749979},"220":{"tf":2.0},"255":{"tf":1.0},"257":{"tf":2.6457513110645907},"258":{"tf":1.4142135623730951}},"e":{"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":{"283":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"299":{"tf":1.0}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"257":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":3,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"257":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"290":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":1,"docs":{"292":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"257":{"tf":1.7320508075688772}}}}},"t":{"df":4,"docs":{"189":{"tf":1.0},"299":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"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":{"130":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":24,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"186":{"tf":1.0},"198":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"226":{"tf":1.4142135623730951},"227":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"259":{"tf":1.0},"275":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"131":{"tf":1.0},"166":{"tf":1.0},"209":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"215":{"tf":1.0},"252":{"tf":1.0}},"t":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":28,"docs":{"116":{"tf":1.0},"124":{"tf":1.0},"139":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"160":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"189":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.7320508075688772},"218":{"tf":1.4142135623730951},"219":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.7320508075688772},"255":{"tf":1.0},"260":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"2":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"34":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"196":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"196":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":6,"docs":{"1":{"tf":1.0},"153":{"tf":1.0},"169":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"215":{"tf":1.0}}},"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"297":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":25,"docs":{"107":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"215":{"tf":1.0},"233":{"tf":1.0},"244":{"tf":1.4142135623730951},"259":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"280":{"tf":1.0},"297":{"tf":2.449489742783178},"66":{"tf":2.0},"67":{"tf":1.7320508075688772},"69":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":9,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":3,"docs":{"145":{"tf":1.0},"207":{"tf":2.449489742783178},"279":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"65":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"230":{"tf":1.0},"274":{"tf":1.0}}}}},"r":{"df":1,"docs":{"231":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":16,"docs":{"109":{"tf":1.0},"160":{"tf":1.4142135623730951},"173":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":2.23606797749979},"183":{"tf":1.0},"184":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"252":{"tf":1.0},"257":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"201":{"tf":1.0},"208":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"242":{"tf":1.0},"288":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"224":{"tf":1.0},"70":{"tf":2.449489742783178}}}},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"279":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":2.0}}}}}},".":{"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":{"207":{"tf":1.4142135623730951}}}}},"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":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"\"":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":1.7320508075688772}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"207":{"tf":2.449489742783178},"209":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"221":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"186":{"tf":1.0},"260":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"169":{"tf":1.4142135623730951}},"i":{"df":2,"docs":{"211":{"tf":1.0},"239":{"tf":1.0}}}}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"17":{"tf":1.0},"194":{"tf":1.0},"244":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"[":{"1":{"df":1,"docs":{"177":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":1,"docs":{"177":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"177":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"183":{"tf":1.0},"187":{"tf":1.0},"195":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":3.1622776601683795}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"64":{"tf":1.0},"65":{"tf":2.449489742783178}},"e":{"'":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":18,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"243":{"tf":1.0},"281":{"tf":1.0},"29":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":19,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":9,"docs":{"178":{"tf":1.0},"198":{"tf":1.0},"220":{"tf":1.0},"243":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":2.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"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":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"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":{},"n":{"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":{"279":{"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"279":{"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":{}}}}}},"y":{"df":2,"docs":{"221":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"173":{"tf":1.0}}},"df":2,"docs":{"173":{"tf":1.0},"71":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"258":{"tf":1.0},"282":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"155":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"108":{"tf":1.0},"128":{"tf":1.0},"164":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"229":{"tf":1.4142135623730951},"232":{"tf":1.0},"252":{"tf":1.0},"264":{"tf":1.0},"280":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"173":{"tf":1.0},"184":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":1.0},"270":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":2.6457513110645907},"212":{"tf":1.7320508075688772},"213":{"tf":1.7320508075688772},"221":{"tf":1.0},"257":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"230":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"139":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":2.6457513110645907},"90":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":45,"docs":{"109":{"tf":1.0},"113":{"tf":1.0},"127":{"tf":1.7320508075688772},"134":{"tf":1.0},"140":{"tf":1.0},"151":{"tf":1.4142135623730951},"165":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"247":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":15,"docs":{"151":{"tf":1.0},"153":{"tf":1.4142135623730951},"172":{"tf":1.0},"187":{"tf":1.7320508075688772},"201":{"tf":1.0},"209":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.4142135623730951},"278":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":21,"docs":{"114":{"tf":1.0},"119":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.0},"172":{"tf":1.0},"219":{"tf":1.0},"222":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"237":{"tf":1.0},"244":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"275":{"tf":1.0},"280":{"tf":1.0},"39":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":8,"docs":{"152":{"tf":1.0},"161":{"tf":1.0},"242":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"139":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"d":{"(":{"a":{"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"248":{"tf":1.0}}}},"df":5,"docs":{"156":{"tf":1.0},"247":{"tf":2.23606797749979},"248":{"tf":1.7320508075688772},"289":{"tf":1.0},"291":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"284":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":3,"docs":{"104":{"tf":1.0},"254":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"206":{"tf":1.0},"274":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"x":{"df":3,"docs":{"220":{"tf":1.0},"270":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"235":{"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":9,"docs":{"125":{"tf":1.4142135623730951},"131":{"tf":1.0},"17":{"tf":1.0},"228":{"tf":1.0},"267":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.7320508075688772},"298":{"tf":2.0},"95":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"110":{"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":{"193":{"tf":1.0},"195":{"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":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"171":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"193":{"tf":1.0}},"o":{"df":0,"docs":{},"o":{"(":{"1":{"2":{"3":{"4":{"df":1,"docs":{"171":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"192":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"171":{"tf":1.0},"172":{"tf":1.0},"194":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"2":{"3":{"4":{"df":1,"docs":{"172":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"v":{"df":1,"docs":{"64":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"124":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.7320508075688772},"165":{"tf":1.0},"211":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"240":{"tf":1.0},"242":{"tf":1.0},"246":{"tf":1.0},"269":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":20,"docs":{"153":{"tf":1.0},"158":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"187":{"tf":1.0},"198":{"tf":1.0},"228":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.0},"293":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"80":{"tf":1.0},"91":{"tf":1.0}},"s":{"df":5,"docs":{"196":{"tf":1.0},"207":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"293":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"124":{"tf":1.0},"211":{"tf":1.0},"237":{"tf":1.0},"65":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"180":{"tf":1.0},"36":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"119":{"tf":1.0},"45":{"tf":2.23606797749979}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"\"":{"(":{"1":{"df":1,"docs":{"73":{"tf":2.0}}},"_":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"187":{"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":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"180":{"tf":1.0},"84":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"72":{"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":{"178":{"tf":1.0},"180":{"tf":1.0},"84":{"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":{"184":{"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":{"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}},"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":{"69":{"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":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"180":{"tf":1.0}}},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"215":{"tf":1.0}}}}},"f":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}},"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":{},"o":{"(":{"\\":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"75":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"108":{"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":{"184":{"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":4,"docs":{"219":{"tf":1.0},"263":{"tf":1.0},"29":{"tf":1.0},"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"149":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"152":{"tf":1.7320508075688772},"162":{"tf":1.0}}}}},"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":{"108":{"tf":1.0}}}}}}}}}},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"71":{"tf":1.0},"96":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}}}},"y":{"df":1,"docs":{"58":{"tf":1.0}}}}},"l":{"1":{"df":1,"docs":{"187":{"tf":1.0}}},"2":{"df":1,"docs":{"187":{"tf":1.7320508075688772}}},"df":1,"docs":{"178":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"212":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"184":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"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":{"180":{"tf":1.4142135623730951},"181":{"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":{"70":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.7320508075688772}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"172":{"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":{},"r":{"df":0,"docs":{},"v":{"df":4,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}},"{":{"df":1,"docs":{"142":{"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":{"109":{"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":{"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"k":{"df":2,"docs":{"97":{"tf":1.0},"98":{"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":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"1":{"0":{"df":2,"docs":{"94":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"94":{"tf":1.0}}},"a":{"d":{"d":{"(":{"1":{"0":{"df":1,"docs":{"141":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"139":{"tf":1.0}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"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":{}}}},"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":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"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":{"150":{"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":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"179":{"tf":1.4142135623730951},"183":{"tf":1.0},"186":{"tf":1.0}}}}}},"df":8,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0}},"f":{"df":2,"docs":{"121":{"tf":1.0},"122":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}}},"i":{"1":{"df":1,"docs":{"117":{"tf":1.0}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"3":{"df":1,"docs":{"117":{"tf":1.0}}},"df":3,"docs":{"52":{"tf":1.0},"53":{"tf":1.0},"54":{"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":{"80":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"[":{"0":{"df":1,"docs":{"88":{"tf":1.0}}},"1":{"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}},"6":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"281":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"87":{"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":{"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"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":{"146":{"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":{"99":{"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":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"127":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"228":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"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":{"150":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"103":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.4142135623730951}},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}},"x":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":2,"docs":{"104":{"tf":1.0},"106":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":{"158":{"tf":1.0}}}}}}}},"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":{}},"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":{"179":{"tf":1.4142135623730951},"183":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"207":{"tf":2.449489742783178}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"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":2,"docs":{"164":{"tf":1.4142135623730951},"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":{}}},"df":1,"docs":{"248":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"168":{"tf":1.0}},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":{"158":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"155":{"tf":1.0}}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"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":{"124":{"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":{"124":{"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":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"115":{"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":{"155":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"129":{"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":{"177":{"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":{"175":{"tf":1.0}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"139":{"tf":1.0},"145":{"tf":1.0}}}},"df":11,"docs":{"110":{"tf":1.4142135623730951},"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"193":{"tf":1.0},"212":{"tf":1.0},"27":{"tf":1.4142135623730951},"272":{"tf":1.0},"34":{"tf":1.4142135623730951},"51":{"tf":1.0},"64":{"tf":1.0},"83":{"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":{"72":{"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":{"72":{"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":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"2":{"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":{}}}}},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"112":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.7320508075688772},"276":{"tf":1.4142135623730951},"277":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"75":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"274":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.0}},"y":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"295":{"tf":1.0}}}}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":1,"docs":{"295":{"tf":1.0}},"t":{"df":1,"docs":{"295":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}}}}}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"170":{"tf":1.7320508075688772},"195":{"tf":1.0},"223":{"tf":2.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"161":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}},"df":12,"docs":{"124":{"tf":1.0},"126":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0},"64":{"tf":1.0},"73":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":65,"docs":{"127":{"tf":1.4142135623730951},"134":{"tf":2.0},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":2.0},"156":{"tf":1.7320508075688772},"159":{"tf":1.7320508075688772},"160":{"tf":2.23606797749979},"162":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"167":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":2.23606797749979},"177":{"tf":2.23606797749979},"188":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":3.0},"206":{"tf":2.0},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"221":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":2.0},"232":{"tf":2.0},"233":{"tf":2.6457513110645907},"235":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":2.6457513110645907},"240":{"tf":1.7320508075688772},"243":{"tf":1.0},"244":{"tf":2.0},"245":{"tf":1.4142135623730951},"246":{"tf":2.449489742783178},"247":{"tf":1.7320508075688772},"248":{"tf":2.8284271247461903},"249":{"tf":2.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.7320508075688772},"48":{"tf":1.0},"65":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"139":{"tf":1.0},"156":{"tf":1.0},"176":{"tf":1.0},"244":{"tf":1.0}}},"(":{"df":1,"docs":{"199":{"tf":1.0}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"228":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"10":{"tf":1.0},"189":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.0},"293":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"219":{"tf":1.0}},"u":{"c":{"df":7,"docs":{"164":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.4142135623730951},"272":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0},"80":{"tf":1.0}},"t":{"df":2,"docs":{"244":{"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":{"231":{"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":{"231":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":4,"docs":{"219":{"tf":1.0},"220":{"tf":1.0},"260":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":79,"docs":{"101":{"tf":1.0},"107":{"tf":1.4142135623730951},"11":{"tf":1.0},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"15":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"173":{"tf":1.0},"189":{"tf":1.7320508075688772},"190":{"tf":1.4142135623730951},"194":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"199":{"tf":1.0},"200":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.0},"217":{"tf":2.0},"218":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"222":{"tf":1.4142135623730951},"23":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":2.8284271247461903},"257":{"tf":1.0},"259":{"tf":1.4142135623730951},"26":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":3.0},"264":{"tf":2.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"300":{"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.4142135623730951},"50":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"221":{"tf":1.0},"229":{"tf":1.0},"259":{"tf":1.0}}}},"df":11,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"247":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"159":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":1.4142135623730951},"248":{"tf":1.0},"249":{"tf":1.0},"274":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":20,"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},"190":{"tf":1.0},"21":{"tf":1.0},"215":{"tf":1.0},"227":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"270":{"tf":1.4142135623730951},"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":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"226":{"tf":1.0},"227":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"254":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"107":{"tf":1.0},"116":{"tf":1.0},"209":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"280":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"i":{"d":{"df":73,"docs":{"1":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.7320508075688772},"143":{"tf":1.4142135623730951},"152":{"tf":1.7320508075688772},"154":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"203":{"tf":1.4142135623730951},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":2.449489742783178},"212":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":1.7320508075688772},"215":{"tf":1.7320508075688772},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"222":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"236":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.4142135623730951},"288":{"tf":2.23606797749979},"291":{"tf":1.0},"293":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.4142135623730951},"297":{"tf":1.0},"298":{"tf":1.7320508075688772},"3":{"tf":1.0},"301":{"tf":1.0},"39":{"tf":1.0},"48":{"tf":1.7320508075688772},"76":{"tf":1.0},"82":{"tf":1.0},"86":{"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":{"235":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}}}},"t":{"df":1,"docs":{"288":{"tf":1.0}}},"v":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"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":{"203":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"222":{"tf":1.0}}}}}}},"df":6,"docs":{"170":{"tf":3.0},"172":{"tf":1.4142135623730951},"194":{"tf":1.0},"221":{"tf":1.4142135623730951},"227":{"tf":1.7320508075688772},"228":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"192":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"12":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.4142135623730951},"243":{"tf":1.0},"271":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":13,"docs":{"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"122":{"tf":1.0},"140":{"tf":1.0},"166":{"tf":1.0},"205":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"82":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"220":{"tf":1.0}}}},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":6,"docs":{"156":{"tf":1.4142135623730951},"186":{"tf":1.0},"226":{"tf":1.0},"232":{"tf":1.0},"263":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"76":{"tf":1.0}}},"df":10,"docs":{"131":{"tf":1.0},"147":{"tf":1.0},"198":{"tf":1.0},"263":{"tf":1.4142135623730951},"268":{"tf":1.0},"50":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.0},"87":{"tf":1.4142135623730951},"94":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"80":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"235":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"244":{"tf":1.0}},"e":{"df":1,"docs":{"284":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"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":{"177":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":12,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"211":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":2.449489742783178},"239":{"tf":1.4142135623730951},"240":{"tf":1.7320508075688772},"288":{"tf":1.0},"3":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"189":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"m":{"df":1,"docs":{"244":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"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":{"(":{"0":{"df":1,"docs":{"153":{"tf":1.0}}},"1":{"df":5,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.0}}},"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":{"137":{"tf":1.0},"139":{"tf":1.0},"177":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"153":{"tf":1.4142135623730951},"186":{"tf":1.0},"51":{"tf":1.4142135623730951}}}}}},"df":7,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.4142135623730951},"48":{"tf":1.0},"60":{"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":2,"docs":{"153":{"tf":1.0},"186":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"$":{"<":{"c":{"df":2,"docs":{"164":{"tf":1.0},"165":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"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":{"162":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":3,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"<":{"c":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"296":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}},"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":{"296":{"tf":2.8284271247461903}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"212":{"tf":1.0}},"g":{"df":4,"docs":{"101":{"tf":1.0},"222":{"tf":1.0},"258":{"tf":1.0},"280":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"226":{"tf":1.0}}}},"w":{"df":3,"docs":{"205":{"tf":1.4142135623730951},"206":{"tf":1.0},"234":{"tf":1.0}},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"299":{"tf":1.0}}}}}}}},"df":10,"docs":{"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":2.6457513110645907},"51":{"tf":2.8284271247461903},"60":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"244":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"df":8,"docs":{"109":{"tf":1.0},"154":{"tf":1.0},"185":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"258":{"tf":1.0},"282":{"tf":1.0},"7":{"tf":1.0}}}},"d":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"286":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"232":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":35,"docs":{"142":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"189":{"tf":1.7320508075688772},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.7320508075688772},"222":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"241":{"tf":1.0},"247":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"286":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"77":{"tf":1.4142135623730951},"80":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"131":{"tf":1.0},"93":{"tf":1.0}}}},"i":{"df":6,"docs":{"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":1.7320508075688772},"244":{"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"286":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"162":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"215":{"tf":1.0},"232":{"tf":1.0}}}},"z":{"df":2,"docs":{"147":{"tf":1.0},"155":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"156":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":1.0},"233":{"tf":1.0},"245":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.4142135623730951},"288":{"tf":1.0},"48":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"165":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.4142135623730951},"274":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":7,"docs":{"160":{"tf":1.0},"206":{"tf":1.0},"233":{"tf":1.4142135623730951},"238":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"10":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"224":{"tf":1.0},"247":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}},"r":{"d":{"df":10,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.4142135623730951},"293":{"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":{"249":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"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":{"72":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"130":{"tf":2.8284271247461903},"186":{"tf":2.8284271247461903},"187":{"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":{"231":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"51":{"tf":1.0},"74":{"tf":2.0}},"u":{"c":{"df":3,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"155":{"tf":1.4142135623730951}},"e":{"(":{"[":{"1":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"a":{"df":2,"docs":{"155":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":9,"docs":{"114":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":1.0},"297":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"272":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":34,"docs":{"110":{"tf":1.0},"117":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.0},"146":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"16":{"tf":1.0},"161":{"tf":1.0},"17":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":3.0},"19":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"219":{"tf":1.4142135623730951},"23":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":1.7320508075688772},"266":{"tf":1.0},"273":{"tf":1.4142135623730951},"291":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":14,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"183":{"tf":1.0},"211":{"tf":1.4142135623730951},"215":{"tf":1.0},"25":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"131":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"162":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"230":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"300":{"tf":2.23606797749979}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.0}}}},"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":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"220":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"174":{"tf":1.0},"231":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"205":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"108":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.4142135623730951},"159":{"tf":1.0},"173":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.23606797749979},"214":{"tf":1.0},"220":{"tf":1.0},"74":{"tf":1.0}},"e":{"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"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":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"149":{"tf":1.0},"17":{"tf":1.0},"222":{"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":8,"docs":{"107":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"231":{"tf":1.0},"264":{"tf":1.0}}}}}}}}}}},"df":6,"docs":{"257":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":9,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"194":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"260":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"110":{"tf":1.0},"158":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0}}},"o":{"a":{"d":{"df":1,"docs":{"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"154":{"tf":1.0},"230":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0}}}},"p":{"df":1,"docs":{"293":{"tf":1.0}},"p":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"226":{"tf":1.0},"239":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"272":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"269":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}},"v":{"df":4,"docs":{"262":{"tf":1.0},"291":{"tf":3.0},"293":{"tf":3.0},"298":{"tf":2.8284271247461903}},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":3.0}}}}}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"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":{},"f":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"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":{}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":2.0}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}},"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":{"110":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"110":{"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":{"235":{"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":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"299":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"125":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"184":{"tf":1.0},"269":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"63":{"tf":4.242640687119285}},"e":{"d":{"(":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"272":{"tf":1.0}}}}}},"l":{"a":{"c":{"df":6,"docs":{"261":{"tf":1.0},"262":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.449489742783178},"300":{"tf":1.7320508075688772},"66":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":19,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":46,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"147":{"tf":1.0},"152":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"25":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":2.449489742783178},"209":{"tf":3.1622776601683795},"286":{"tf":1.0},"301":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"q":{"df":2,"docs":{"209":{"tf":1.0},"221":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"176":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.4142135623730951},"221":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":2.0},"244":{"tf":3.0},"254":{"tf":1.0},"255":{"tf":2.6457513110645907},"256":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":40,"docs":{"10":{"tf":1.0},"102":{"tf":1.7320508075688772},"115":{"tf":1.0},"119":{"tf":1.0},"127":{"tf":1.4142135623730951},"133":{"tf":1.7320508075688772},"137":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":2.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.0},"160":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"204":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"255":{"tf":1.0},"266":{"tf":1.0},"271":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"83":{"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":{"177":{"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":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"272":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.0},"169":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"221":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}},"v":{"df":7,"docs":{"177":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"21":{"tf":1.0},"244":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"171":{"tf":1.0},"173":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":14,"docs":{"189":{"tf":2.8284271247461903},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"25":{"tf":1.7320508075688772},"257":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.0},"27":{"tf":1.0},"286":{"tf":2.23606797749979},"30":{"tf":1.0},"37":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}}}}}}}},"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}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":4,"docs":{"221":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0}},"e":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"231":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":19,"docs":{"103":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.4142135623730951},"150":{"tf":1.0},"156":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"188":{"tf":1.7320508075688772},"209":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":2.23606797749979},"243":{"tf":1.7320508075688772},"249":{"tf":1.0},"251":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":27,"docs":{"131":{"tf":1.0},"154":{"tf":2.0},"156":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0},"182":{"tf":1.0},"196":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.0},"240":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"249":{"tf":1.0},"255":{"tf":1.0},"264":{"tf":1.0},"288":{"tf":2.23606797749979},"291":{"tf":2.6457513110645907},"293":{"tf":1.7320508075688772},"298":{"tf":2.449489742783178},"299":{"tf":1.0},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":66,"docs":{"110":{"tf":1.4142135623730951},"115":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"138":{"tf":2.449489742783178},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":2.6457513110645907},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"158":{"tf":1.4142135623730951},"161":{"tf":2.23606797749979},"162":{"tf":2.449489742783178},"163":{"tf":1.7320508075688772},"164":{"tf":3.0},"165":{"tf":3.605551275463989},"166":{"tf":1.0},"168":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"175":{"tf":2.6457513110645907},"176":{"tf":2.0},"177":{"tf":2.23606797749979},"180":{"tf":1.7320508075688772},"184":{"tf":1.0},"186":{"tf":2.449489742783178},"188":{"tf":1.0},"193":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"219":{"tf":2.0},"221":{"tf":1.4142135623730951},"235":{"tf":2.0},"242":{"tf":1.0},"244":{"tf":1.4142135623730951},"245":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"288":{"tf":4.123105625617661},"291":{"tf":4.242640687119285},"293":{"tf":6.082762530298219},"298":{"tf":4.0},"35":{"tf":1.0},"48":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772},"90":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"190":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"271":{"tf":1.0}}}},"df":0,"docs":{}},"df":14,"docs":{"140":{"tf":1.0},"158":{"tf":1.4142135623730951},"196":{"tf":1.0},"242":{"tf":1.0},"247":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.7320508075688772},"265":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.7320508075688772},"274":{"tf":1.0},"6":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"269":{"tf":1.0}}}}}}}}}},"h":{"df":7,"docs":{"134":{"tf":1.4142135623730951},"135":{"tf":2.0},"145":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.7320508075688772},"192":{"tf":1.4142135623730951},"193":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":10,"docs":{"128":{"tf":2.8284271247461903},"129":{"tf":2.6457513110645907},"130":{"tf":1.0},"154":{"tf":1.0},"179":{"tf":2.23606797749979},"2":{"tf":1.0},"204":{"tf":1.0},"252":{"tf":1.0},"268":{"tf":1.0},"291":{"tf":1.4142135623730951}}}},"i":{"d":{"df":1,"docs":{"277":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"208":{"tf":1.0},"226":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"153":{"tf":2.0},"51":{"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":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"280":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":13,"docs":{"128":{"tf":1.0},"16":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"235":{"tf":1.4142135623730951},"239":{"tf":1.0},"24":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.4142135623730951},"25":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"n":{"d":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"82":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"167":{"tf":1.0},"255":{"tf":1.0},"65":{"tf":1.0}}}},"w":{"df":2,"docs":{"126":{"tf":1.0},"83":{"tf":2.6457513110645907}}}},"p":{"c":{"df":2,"docs":{"221":{"tf":1.0},"235":{"tf":1.0}}},"df":0,"docs":{}},"u":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":11,"docs":{"18":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"93":{"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":33,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"147":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.4142135623730951},"196":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"217":{"tf":2.0},"22":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":2.23606797749979},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"235":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":2.0},"255":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"288":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"50":{"tf":1.0},"65":{"tf":1.0},"81":{"tf":1.0},"9":{"tf":1.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":29,"docs":{"102":{"tf":2.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"137":{"tf":1.7320508075688772},"160":{"tf":1.7320508075688772},"167":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"175":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.0},"189":{"tf":1.0},"2":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"261":{"tf":1.0},"291":{"tf":1.4142135623730951},"300":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"242":{"tf":1.0},"247":{"tf":1.0},"248":{"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":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"151":{"tf":1.0}}}}}},"s":{"/":{"\\":{"\"":{"/":{"\\":{"\\":{"\\":{"\\":{"\\":{"\"":{"/":{"df":0,"docs":{},"g":{"df":1,"docs":{"262":{"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":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":15,"docs":{"137":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.7320508075688772},"243":{"tf":1.7320508075688772},"244":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"297":{"tf":1.0},"300":{"tf":1.0},"90":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}},"r":{"df":4,"docs":{"101":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"177":{"tf":1.0}}},"2":{"df":1,"docs":{"175":{"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":1,"docs":{"175":{"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":{"175":{"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":{"175":{"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":{"175":{"tf":1.7320508075688772},"177":{"tf":1.0}}}}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"239":{"tf":1.0},"243":{"tf":1.0},"86":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":7,"docs":{"131":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.4142135623730951},"185":{"tf":1.0},"199":{"tf":1.0},"279":{"tf":1.0},"48":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":42,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"157":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"183":{"tf":1.0},"187":{"tf":1.7320508075688772},"201":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"279":{"tf":1.0},"288":{"tf":1.7320508075688772},"291":{"tf":1.0},"34":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"87":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"h":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":7,"docs":{"173":{"tf":1.0},"193":{"tf":1.4142135623730951},"206":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.0}}}}}}},"w":{"df":1,"docs":{"274":{"tf":1.0}}},"y":{"df":1,"docs":{"156":{"tf":1.0}}}},"b":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}},"df":2,"docs":{"110":{"tf":2.23606797749979},"170":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"=":{"1":{".":{"0":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"244":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"297":{"tf":5.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":{"75":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":8,"docs":{"211":{"tf":1.0},"231":{"tf":2.23606797749979},"233":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":2.0},"255":{"tf":1.0},"288":{"tf":1.7320508075688772},"3":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"257":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"102":{"tf":1.0},"112":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":2.0},"214":{"tf":1.4142135623730951},"250":{"tf":1.0},"69":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"262":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"32":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":14,"docs":{"155":{"tf":1.0},"243":{"tf":1.0},"27":{"tf":1.0},"300":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"51":{"tf":3.3166247903554},"52":{"tf":2.449489742783178},"60":{"tf":2.0},"65":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.4142135623730951},"184":{"tf":2.23606797749979},"291":{"tf":2.449489742783178},"298":{"tf":2.449489742783178}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"229":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":39,"docs":{"110":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"198":{"tf":1.4142135623730951},"201":{"tf":1.0},"228":{"tf":1.4142135623730951},"236":{"tf":1.0},"241":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"271":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.7320508075688772},"277":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":1.7320508075688772},"28":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":28,"docs":{"101":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":2.0},"184":{"tf":1.0},"19":{"tf":1.0},"194":{"tf":1.0},"20":{"tf":1.0},"229":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"255":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951},"284":{"tf":1.0},"291":{"tf":1.0},"296":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"m":{"df":6,"docs":{"150":{"tf":1.0},"172":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"215":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"210":{"tf":1.0}}}}}}}},"n":{"df":10,"docs":{"131":{"tf":1.0},"156":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"198":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"275":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":7,"docs":{"115":{"tf":1.0},"128":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.0},"151":{"tf":1.0},"33":{"tf":1.0},"93":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":14,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"150":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"73":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":4,"docs":{"209":{"tf":1.0},"221":{"tf":1.7320508075688772},"235":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":6,"docs":{"150":{"tf":1.0},"184":{"tf":1.0},"230":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"209":{"tf":1.4142135623730951}}}}},"t":{"df":1,"docs":{"221":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":10,"docs":{"165":{"tf":1.0},"198":{"tf":1.7320508075688772},"228":{"tf":1.0},"25":{"tf":1.0},"261":{"tf":1.0},"270":{"tf":1.0},"288":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"189":{"tf":1.0},"263":{"tf":1.4142135623730951},"45":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"234":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":3,"docs":{"255":{"tf":1.0},"261":{"tf":1.0},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"213":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"257":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"213":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951}}}}}}}},"df":11,"docs":{"210":{"tf":2.449489742783178},"212":{"tf":2.0},"213":{"tf":1.4142135623730951},"221":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":2.449489742783178},"252":{"tf":2.8284271247461903},"254":{"tf":2.0},"255":{"tf":1.0},"256":{"tf":2.6457513110645907},"257":{"tf":1.7320508075688772}}}},"i":{"c":{"df":12,"docs":{"215":{"tf":1.4142135623730951},"221":{"tf":2.449489742783178},"230":{"tf":1.0},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":2.0},"253":{"tf":1.7320508075688772},"254":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951}},"e":{"'":{"df":2,"docs":{"255":{"tf":1.0},"261":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":31,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"191":{"tf":1.0},"194":{"tf":1.0},"215":{"tf":1.4142135623730951},"216":{"tf":1.4142135623730951},"219":{"tf":1.4142135623730951},"224":{"tf":1.0},"228":{"tf":1.0},"242":{"tf":1.0},"252":{"tf":1.0},"276":{"tf":1.0},"28":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":3.7416573867739413},"298":{"tf":6.6332495807108},"45":{"tf":1.0},"57":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":2.0},"82":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":2.0},"95":{"tf":2.8284271247461903}},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":1,"docs":{"95":{"tf":1.0}}},"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"11":{"tf":1.0},"266":{"tf":1.0},"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"187":{"tf":1.7320508075688772},"202":{"tf":1.0},"45":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"149":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":18,"docs":{"140":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":2.8284271247461903},"211":{"tf":1.0},"221":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.7320508075688772},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"266":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":2.23606797749979},"276":{"tf":1.0},"277":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"p":{"df":1,"docs":{"173":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"117":{"tf":1.0},"203":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"274":{"tf":1.4142135623730951},"33":{"tf":1.0},"93":{"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":{"142":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"142":{"tf":1.0}}},"df":2,"docs":{"231":{"tf":2.23606797749979},"45":{"tf":1.0}},"n":{"df":2,"docs":{"115":{"tf":1.0},"156":{"tf":1.0}}},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"142":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"153":{"tf":1.0},"256":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":22,"docs":{"127":{"tf":1.0},"134":{"tf":1.4142135623730951},"135":{"tf":1.0},"151":{"tf":1.4142135623730951},"156":{"tf":2.449489742783178},"159":{"tf":1.0},"167":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":2.6457513110645907},"210":{"tf":1.0},"247":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"36":{"tf":1.0},"91":{"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":3,"docs":{"231":{"tf":1.0},"252":{"tf":1.0},"77":{"tf":1.0}}}}}}},"df":9,"docs":{"182":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.7320508075688772},"230":{"tf":1.0},"259":{"tf":1.0},"268":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"104":{"tf":1.0},"157":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"189":{"tf":1.0},"279":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":31,"docs":{"1":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"118":{"tf":1.0},"128":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"232":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.4142135623730951},"29":{"tf":1.0},"299":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"172":{"tf":1.0},"189":{"tf":1.0},"293":{"tf":1.0},"80":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}}}}},"i":{"df":44,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.7320508075688772},"249":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":2.0},"266":{"tf":1.0},"274":{"tf":1.0},"278":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"93":{"tf":1.0}},"f":{"df":1,"docs":{"160":{"tf":1.0}},"i":{"df":4,"docs":{"157":{"tf":1.0},"48":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"180":{"tf":1.0},"201":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":44,"docs":{"129":{"tf":1.0},"140":{"tf":1.4142135623730951},"150":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"170":{"tf":1.4142135623730951},"187":{"tf":2.0},"193":{"tf":1.0},"2":{"tf":1.0},"212":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"214":{"tf":1.0}}}}}}}},"k":{"df":1,"docs":{"65":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"261":{"tf":1.0},"263":{"tf":1.0}}},"df":3,"docs":{"156":{"tf":1.0},"175":{"tf":1.0},"263":{"tf":2.23606797749979}}},"u":{"a":{"df":0,"docs":{},"t":{"df":16,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":2.0},"138":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"225":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"75":{"tf":2.0}}},"z":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":7,"docs":{"100":{"tf":1.0},"199":{"tf":1.0},"209":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"6":{"tf":1.0},"80":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"68":{"tf":2.0}}}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":6,"docs":{"169":{"tf":1.0},"196":{"tf":1.0},"215":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"83":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"172":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"102":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"173":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"137":{"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":{"263":{"tf":1.0}}},"df":2,"docs":{"131":{"tf":1.0},"263":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"161":{"tf":1.0},"178":{"tf":1.0},"215":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"122":{"tf":1.0},"167":{"tf":1.0},"93":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"17":{"tf":1.0}}}},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"226":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"224":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{"_":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"_":{"_":{"df":1,"docs":{"225":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"_":{"df":1,"docs":{"226":{"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":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"229":{"tf":1.0}}}},"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"240":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"133":{"tf":1.0},"140":{"tf":1.0},"188":{"tf":1.0},"220":{"tf":1.0},"267":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"222":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":22,"docs":{"107":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"174":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"242":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"32":{"tf":1.0},"65":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"111":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"172":{"tf":1.0},"203":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"265":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"233":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"226":{"tf":1.0},"288":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"259":{"tf":1.0},"275":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":15,"docs":{"107":{"tf":1.4142135623730951},"115":{"tf":1.0},"137":{"tf":1.0},"163":{"tf":1.0},"184":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.4142135623730951},"252":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":28,"docs":{"11":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"173":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"193":{"tf":1.7320508075688772},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"228":{"tf":1.4142135623730951},"260":{"tf":2.23606797749979},"261":{"tf":2.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"153":{"tf":1.0},"163":{"tf":1.0},"277":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"173":{"tf":2.0}}}}}}}},"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}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"226":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"119":{"tf":1.0},"127":{"tf":1.0},"160":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"186":{"tf":1.0},"215":{"tf":1.0},"25":{"tf":1.0},"266":{"tf":1.0},"278":{"tf":1.0},"49":{"tf":1.0},"69":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"235":{"tf":2.0}}}}}}},"df":0,"docs":{},"f":{"df":22,"docs":{"125":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"164":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"183":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"224":{"tf":1.7320508075688772},"231":{"tf":1.0},"25":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"80":{"tf":1.0}},"i":{"df":13,"docs":{"156":{"tf":1.4142135623730951},"173":{"tf":1.0},"204":{"tf":1.0},"215":{"tf":1.0},"263":{"tf":2.0},"291":{"tf":4.358898943540674},"293":{"tf":4.69041575982343},"298":{"tf":2.8284271247461903},"72":{"tf":1.0},"8":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"115":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}},"n":{"d":{"df":2,"docs":{"261":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"270":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"215":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"193":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":3,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"210":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"72":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}},"e":{"(":{"2":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":1,"docs":{"230":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}}}}},"r":{"c":{"df":21,"docs":{"195":{"tf":1.4142135623730951},"199":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.23606797749979},"270":{"tf":2.6457513110645907},"272":{"tf":1.4142135623730951},"273":{"tf":2.23606797749979},"274":{"tf":1.7320508075688772},"286":{"tf":1.4142135623730951},"37":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"151":{"tf":1.0},"186":{"tf":1.4142135623730951},"45":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"282":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"n":{"c":{"df":3,"docs":{"151":{"tf":1.0},"259":{"tf":1.0},"93":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"217":{"tf":1.0}}}}},"r":{"d":{"df":9,"docs":{"203":{"tf":1.0},"220":{"tf":1.0},"276":{"tf":1.7320508075688772},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"268":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":17,"docs":{"208":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0},"217":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":2.449489742783178},"263":{"tf":2.0},"271":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.4142135623730951},"29":{"tf":1.0},"291":{"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}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":19,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"147":{"tf":1.4142135623730951},"150":{"tf":2.0},"152":{"tf":1.0},"153":{"tf":1.0},"211":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"272":{"tf":1.7320508075688772},"273":{"tf":2.6457513110645907},"274":{"tf":2.0},"279":{"tf":1.0},"80":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":15,"docs":{"109":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"212":{"tf":1.0},"25":{"tf":1.0},"263":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"i":{"c":{"_":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}}}}},"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":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"219":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{"81":{"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":70,"docs":{"1":{"tf":1.0},"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"112":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.4142135623730951},"150":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.0},"181":{"tf":1.0},"186":{"tf":1.0},"189":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":2.6457513110645907},"211":{"tf":2.0},"212":{"tf":1.7320508075688772},"213":{"tf":2.449489742783178},"214":{"tf":2.8284271247461903},"215":{"tf":2.0},"219":{"tf":2.23606797749979},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"228":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"244":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"251":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"273":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"3":{"tf":1.0},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.4142135623730951},"81":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"288":{"tf":1.0}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"d":{".":{"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":{"201":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"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":5,"docs":{"152":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}},"s":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}}},"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":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"b":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"154":{"tf":1.7320508075688772}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"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":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":2.0}}}},"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":7,"docs":{"152":{"tf":1.4142135623730951},"161":{"tf":2.23606797749979},"162":{"tf":2.0},"164":{"tf":2.6457513110645907},"165":{"tf":3.1622776601683795},"175":{"tf":1.0},"291":{"tf":3.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":2.23606797749979}}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"286":{"tf":1.0}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"d":{"df":1,"docs":{"206":{"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":{"125":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}},"t":{"df":3,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":3,"docs":{"153":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"110":{"tf":1.4142135623730951},"128":{"tf":2.449489742783178},"129":{"tf":2.449489742783178},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"152":{"tf":1.0},"201":{"tf":1.0},"299":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"b":{"'":{"df":8,"docs":{"189":{"tf":1.0},"199":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.0},"242":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"99":{"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":{},"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":{"164":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":27,"docs":{"194":{"tf":1.7320508075688772},"242":{"tf":1.4142135623730951},"243":{"tf":2.23606797749979},"27":{"tf":1.0},"281":{"tf":1.7320508075688772},"282":{"tf":1.0},"283":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"294":{"tf":1.4142135623730951},"295":{"tf":1.4142135623730951},"296":{"tf":1.4142135623730951},"297":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951},"299":{"tf":1.7320508075688772},"300":{"tf":1.4142135623730951},"301":{"tf":1.4142135623730951},"91":{"tf":1.0},"99":{"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":10,"docs":{"130":{"tf":1.0},"230":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":1.0},"260":{"tf":1.4142135623730951},"273":{"tf":1.0},"275":{"tf":1.0},"37":{"tf":1.0},"65":{"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":37,"docs":{"13":{"tf":1.0},"132":{"tf":1.0},"150":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"172":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"239":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"251":{"tf":1.0},"273":{"tf":1.4142135623730951},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"164":{"tf":1.0},"171":{"tf":1.0},"288":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"244":{"tf":1.0},"89":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"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":{"140":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"189":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"151":{"tf":1.0},"157":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"\"":{"%":{"df":0,"docs":{},"s":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{".":{"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":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}}},"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":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"301":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"110":{"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":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"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":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"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":2,"docs":{"170":{"tf":1.4142135623730951},"301":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}},"df":77,"docs":{"101":{"tf":2.6457513110645907},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"109":{"tf":2.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.4142135623730951},"155":{"tf":1.0},"158":{"tf":2.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.23606797749979},"168":{"tf":2.8284271247461903},"170":{"tf":3.3166247903554},"171":{"tf":2.8284271247461903},"172":{"tf":2.449489742783178},"194":{"tf":1.4142135623730951},"199":{"tf":1.7320508075688772},"202":{"tf":3.0},"203":{"tf":1.0},"207":{"tf":2.0},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"212":{"tf":1.0},"213":{"tf":2.0},"215":{"tf":1.4142135623730951},"219":{"tf":2.0},"220":{"tf":2.0},"228":{"tf":1.0},"229":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":2.6457513110645907},"260":{"tf":1.0},"261":{"tf":1.7320508075688772},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"272":{"tf":2.0},"273":{"tf":2.449489742783178},"274":{"tf":2.23606797749979},"279":{"tf":1.0},"283":{"tf":1.0},"285":{"tf":1.4142135623730951},"286":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"297":{"tf":2.6457513110645907},"299":{"tf":1.0},"300":{"tf":8.888194417315589},"301":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":3.0},"49":{"tf":2.449489742783178},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.7320508075688772},"93":{"tf":1.0},"96":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"170":{"tf":3.0},"172":{"tf":1.0}}},"y":{"<":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}},"t":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}},"v":{"df":1,"docs":{"172":{"tf":1.0}}}},"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":2,"docs":{"199":{"tf":1.0},"202":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"27":{"tf":1.0},"35":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"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":{"65":{"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":{}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"257":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"166":{"tf":1.0},"86":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"273":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":35,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"110":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"213":{"tf":1.7320508075688772},"220":{"tf":1.0},"257":{"tf":2.0},"266":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"297":{"tf":1.0},"299":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"83":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":29,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"128":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"179":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"209":{"tf":1.7320508075688772},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.7320508075688772},"243":{"tf":1.4142135623730951},"257":{"tf":1.0},"259":{"tf":1.0},"277":{"tf":1.7320508075688772},"3":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"85":{"tf":1.0},"90":{"tf":1.0}}}},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"133":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"245":{"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":{"150":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":2.0},"39":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"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":{"107":{"tf":2.0},"140":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"232":{"tf":1.7320508075688772},"235":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":1.0},"209":{"tf":1.0},"219":{"tf":1.0},"263":{"tf":1.0}}}},"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":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"226":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":2.0},"137":{"tf":2.0},"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":3,"docs":{"208":{"tf":1.0},"288":{"tf":2.0},"291":{"tf":1.7320508075688772}}}},"t":{"df":2,"docs":{"268":{"tf":1.0},"298":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"187":{"tf":1.0},"229":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}}},"i":{"df":1,"docs":{"201":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":7,"docs":{"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"172":{"tf":2.0}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"288":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.0},"288":{"tf":2.0},"75":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":8,"docs":{"189":{"tf":1.0},"196":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.4142135623730951},"260":{"tf":1.0},"32":{"tf":1.0},"66":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":24,"docs":{"122":{"tf":1.0},"135":{"tf":1.0},"151":{"tf":1.4142135623730951},"156":{"tf":1.0},"165":{"tf":1.0},"190":{"tf":1.0},"209":{"tf":1.4142135623730951},"211":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"249":{"tf":1.0},"254":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"185":{"tf":1.0},"246":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"158":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"266":{"tf":1.0},"280":{"tf":1.0}}}},"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":3,"docs":{"271":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":2.449489742783178}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"135":{"tf":1.0},"145":{"tf":1.0},"203":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"210":{"tf":1.0},"220":{"tf":1.0},"282":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"252":{"tf":1.0}}}},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":49,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"107":{"tf":1.7320508075688772},"109":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.4142135623730951},"135":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.4142135623730951},"180":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.7320508075688772},"220":{"tf":1.7320508075688772},"221":{"tf":1.0},"252":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.7320508075688772},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"274":{"tf":1.4142135623730951},"277":{"tf":1.0},"280":{"tf":1.0},"284":{"tf":1.0},"296":{"tf":1.0},"300":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"98":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"18":{"tf":1.0},"220":{"tf":1.0},"267":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"2":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"tf":1.4142135623730951},"271":{"tf":1.0},"78":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":1,"docs":{"114":{"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":{"66":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"126":{"tf":1.0},"148":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":1,"docs":{"268":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"238":{"tf":1.0},"288":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":20,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"201":{"tf":1.4142135623730951},"203":{"tf":1.7320508075688772},"210":{"tf":1.4142135623730951},"231":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"253":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"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":1,"docs":{"172":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"x":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":20,"docs":{"119":{"tf":1.0},"13":{"tf":1.0},"151":{"tf":1.0},"169":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.7320508075688772},"2":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}}}},"t":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"137":{"tf":1.0},"139":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"230":{"tf":1.0}},"e":{"\"":{"/":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"174":{"tf":1.0},"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":41,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"15":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"198":{"tf":1.0},"206":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.4142135623730951},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"273":{"tf":1.0},"296":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"n":{"df":2,"docs":{"184":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"223":{"tf":1.0}}},"df":29,"docs":{"189":{"tf":1.4142135623730951},"195":{"tf":1.0},"196":{"tf":1.4142135623730951},"199":{"tf":1.4142135623730951},"204":{"tf":1.0},"223":{"tf":2.23606797749979},"224":{"tf":2.0},"225":{"tf":1.4142135623730951},"226":{"tf":1.7320508075688772},"227":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":2.0},"269":{"tf":1.7320508075688772},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"286":{"tf":1.0},"30":{"tf":1.4142135623730951},"300":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"178":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":3.3166247903554},"48":{"tf":1.0},"63":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":5,"docs":{"231":{"tf":1.0},"232":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}},"df":37,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":2.0},"156":{"tf":2.449489742783178},"159":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":2.23606797749979},"171":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":2.449489742783178},"175":{"tf":1.0},"181":{"tf":2.0},"188":{"tf":1.0},"192":{"tf":2.449489742783178},"201":{"tf":1.0},"247":{"tf":2.0},"248":{"tf":1.4142135623730951},"284":{"tf":4.123105625617661},"288":{"tf":1.0},"291":{"tf":8.426149773176359},"295":{"tf":2.23606797749979},"298":{"tf":7.810249675906654},"299":{"tf":1.0},"301":{"tf":1.0},"73":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"83":{"tf":2.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"119":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"144":{"tf":1.0},"209":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"156":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"249":{"tf":1.0},"261":{"tf":1.7320508075688772},"262":{"tf":1.4142135623730951},"263":{"tf":1.7320508075688772},"48":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"n":{"d":{"df":5,"docs":{"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0}}},"df":2,"docs":{"108":{"tf":1.0},"109":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":4,"docs":{"167":{"tf":1.0},"17":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"130":{"tf":1.0},"186":{"tf":1.0},"256":{"tf":1.0},"288":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"197":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"215":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"219":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"13":{"tf":1.0},"184":{"tf":1.4142135623730951},"197":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.4142135623730951},"43":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"%":{"2":{"0":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"%":{"2":{"0":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{",":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"%":{"2":{"c":{"%":{"2":{"0":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"(":{")":{"%":{"3":{"b":{"df":1,"docs":{"291":{"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":{}},"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":10,"docs":{"11":{"tf":1.0},"189":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"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":{"65":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":3,"docs":{"221":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"165":{"tf":1.0},"201":{"tf":1.0},"230":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}}}}}}},"t":{"'":{"df":10,"docs":{"107":{"tf":1.0},"129":{"tf":1.0},"210":{"tf":1.0},"220":{"tf":1.0},"229":{"tf":1.0},"256":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"278":{"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":8,"docs":{"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"274":{"tf":1.0},"39":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":18,"docs":{"156":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"181":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"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":{"124":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"206":{"tf":1.0},"238":{"tf":1.0},"246":{"tf":1.0}}}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"196":{"tf":1.0},"255":{"tf":1.0}}}},"r":{"df":5,"docs":{"140":{"tf":1.0},"201":{"tf":1.0},"272":{"tf":1.0},"288":{"tf":1.0},"298":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":23,"docs":{"157":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.0},"245":{"tf":1.4142135623730951},"254":{"tf":1.0},"263":{"tf":1.4142135623730951},"269":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":14,"docs":{"134":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.0},"208":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"93":{"tf":1.0}}}},"r":{"d":{"df":2,"docs":{"137":{"tf":1.0},"229":{"tf":1.0}}},"df":0,"docs":{}},"s":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":2.449489742783178}},"p":{"df":0,"docs":{},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"209":{"tf":1.0},"231":{"tf":1.0},"27":{"tf":1.0},"276":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"115":{"tf":1.0},"122":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"48":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":19,"docs":{"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"211":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"231":{"tf":2.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"237":{"tf":1.7320508075688772},"238":{"tf":1.7320508075688772},"239":{"tf":3.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":2.0},"243":{"tf":2.23606797749979},"244":{"tf":4.69041575982343},"246":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":1.7320508075688772},"297":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"231":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"170":{"tf":1.0},"171":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":21,"docs":{"107":{"tf":1.0},"131":{"tf":1.0},"15":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.0},"34":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"140":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"247":{"tf":1.0},"264":{"tf":1.0},"47":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"242":{"tf":1.0},"244":{"tf":1.4142135623730951}}}}}}}},"w":{"df":3,"docs":{"151":{"tf":1.0},"300":{"tf":1.0},"50":{"tf":1.0}},"n":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"u":{"df":1,"docs":{"183":{"tf":1.0}},"m":{"b":{"df":2,"docs":{"208":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":1,"docs":{"255":{"tf":1.0}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"260":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"198":{"tf":1.0},"228":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"273":{"tf":1.0}}},"df":84,"docs":{"101":{"tf":2.0},"102":{"tf":2.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.4142135623730951},"124":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":2.449489742783178},"186":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"226":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":2.449489742783178},"260":{"tf":1.7320508075688772},"261":{"tf":2.0},"263":{"tf":2.23606797749979},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"266":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"271":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"281":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.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":{"115":{"tf":1.0},"124":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.7320508075688772}},"e":{">":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"l":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"a":{"d":{"d":{"df":4,"docs":{"291":{"tf":1.7320508075688772},"298":{"tf":2.0},"301":{"tf":1.0},"91":{"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":{"150":{"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":{"150":{"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":13,"docs":{"169":{"tf":1.0},"172":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"284":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"291":{"tf":3.1622776601683795},"293":{"tf":3.0},"296":{"tf":1.0},"298":{"tf":2.449489742783178},"300":{"tf":1.4142135623730951},"80":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"138":{"tf":1.0},"237":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.0},"43":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"215":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"249":{"tf":1.0},"291":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"k":{"df":1,"docs":{"184":{"tf":1.0}}},"l":{"df":8,"docs":{"140":{"tf":1.0},"151":{"tf":1.0},"172":{"tf":1.0},"2":{"tf":1.0},"209":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"276":{"tf":1.0}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"152":{"tf":1.7320508075688772}}}}}},"p":{"df":14,"docs":{"17":{"tf":1.0},"233":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"250":{"tf":1.0},"251":{"tf":1.4142135623730951},"263":{"tf":2.23606797749979},"271":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"155":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"155":{"tf":1.0},"229":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0}}}},"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":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"15":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"252":{"tf":1.0},"274":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"239":{"tf":1.0},"4":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"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":2,"docs":{"260":{"tf":1.0},"76":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"196":{"tf":1.0},"211":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"179":{"tf":1.0},"244":{"tf":1.0}}}}}}},"df":1,"docs":{"262":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"173":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"153":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":2.0},"129":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":21,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"130":{"tf":1.4142135623730951},"164":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"207":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.0},"220":{"tf":1.0},"233":{"tf":1.0},"256":{"tf":1.0},"264":{"tf":1.4142135623730951},"276":{"tf":1.0},"277":{"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":4,"docs":{"130":{"tf":1.0},"159":{"tf":1.0},"235":{"tf":1.0},"25":{"tf":1.0}}}}}},"m":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":2,"docs":{"27":{"tf":1.0},"291":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"110":{"tf":1.4142135623730951},"152":{"tf":1.0},"172":{"tf":1.0},"190":{"tf":1.0},"231":{"tf":1.0},"255":{"tf":1.0},"261":{"tf":1.0},"75":{"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":18,"docs":{"132":{"tf":2.0},"160":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":3.0},"291":{"tf":3.0},"293":{"tf":1.7320508075688772},"298":{"tf":3.7416573867739413},"45":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"169":{"tf":1.0},"64":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"260":{"tf":1.0},"263":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":8,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":2.0},"103":{"tf":2.8284271247461903},"104":{"tf":1.0},"137":{"tf":2.0},"203":{"tf":1.0},"59":{"tf":1.0},"71":{"tf":1.0}},"e":{".":{".":{".":{"&":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"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":{"186":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"114":{"tf":1.0},"130":{"tf":1.7320508075688772},"132":{"tf":1.0}}}}},"k":{"df":3,"docs":{"293":{"tf":2.0},"58":{"tf":1.0},"98":{"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":{"130":{"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":{"181":{"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":{"101":{"tf":1.0}}},"6":{"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":{}},"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":{"102":{"tf":1.0}}},"6":{"df":1,"docs":{"102":{"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":{"103":{"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":2,"docs":{"238":{"tf":1.0},"244":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"184":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":22,"docs":{"118":{"tf":1.0},"128":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"183":{"tf":1.0},"185":{"tf":1.0},"198":{"tf":1.0},"205":{"tf":1.0},"211":{"tf":1.0},"228":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"253":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"298":{"tf":2.23606797749979},"64":{"tf":1.0},"75":{"tf":2.8284271247461903}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":6,"docs":{"188":{"tf":1.4142135623730951},"201":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":2.0},"209":{"tf":1.7320508075688772},"243":{"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":{"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":1,"docs":{"158":{"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":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":124,"docs":{"1":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":2.449489742783178},"102":{"tf":3.3166247903554},"103":{"tf":2.0},"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"107":{"tf":2.8284271247461903},"108":{"tf":3.0},"109":{"tf":3.605551275463989},"110":{"tf":2.0},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":3.0},"118":{"tf":2.8284271247461903},"119":{"tf":2.6457513110645907},"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"122":{"tf":3.1622776601683795},"123":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":2.8284271247461903},"126":{"tf":2.0},"127":{"tf":3.3166247903554},"128":{"tf":1.4142135623730951},"129":{"tf":2.0},"130":{"tf":3.4641016151377544},"131":{"tf":3.4641016151377544},"132":{"tf":1.0},"133":{"tf":2.23606797749979},"134":{"tf":2.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":2.23606797749979},"139":{"tf":2.449489742783178},"145":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":2.449489742783178},"153":{"tf":1.7320508075688772},"154":{"tf":2.0},"155":{"tf":3.1622776601683795},"156":{"tf":3.4641016151377544},"157":{"tf":1.7320508075688772},"158":{"tf":1.4142135623730951},"160":{"tf":2.0},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"164":{"tf":2.6457513110645907},"165":{"tf":3.1622776601683795},"166":{"tf":2.449489742783178},"167":{"tf":1.4142135623730951},"169":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":2.23606797749979},"172":{"tf":2.6457513110645907},"173":{"tf":3.0},"175":{"tf":2.449489742783178},"176":{"tf":2.449489742783178},"177":{"tf":2.23606797749979},"178":{"tf":1.0},"180":{"tf":2.0},"181":{"tf":3.0},"182":{"tf":1.0},"183":{"tf":1.0},"186":{"tf":2.6457513110645907},"187":{"tf":1.0},"188":{"tf":2.0},"192":{"tf":1.0},"198":{"tf":1.0},"200":{"tf":1.4142135623730951},"201":{"tf":3.1622776601683795},"202":{"tf":1.4142135623730951},"203":{"tf":2.0},"204":{"tf":1.0},"205":{"tf":2.23606797749979},"206":{"tf":4.0},"207":{"tf":2.8284271247461903},"208":{"tf":2.449489742783178},"209":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"220":{"tf":2.0},"235":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":2.8284271247461903},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"257":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":2.6457513110645907},"286":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"4":{"tf":1.4142135623730951},"45":{"tf":3.3166247903554},"49":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"81":{"tf":2.0},"82":{"tf":1.4142135623730951},"83":{"tf":2.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":2.0},"92":{"tf":1.7320508075688772},"93":{"tf":2.449489742783178},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}},"s":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"204":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"109":{"tf":1.0}}},"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":10,"docs":{"155":{"tf":1.0},"161":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"288":{"tf":1.0},"45":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"147":{"tf":1.0},"156":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"107":{"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":{"177":{"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}}}}}}}}}},"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"209":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"178":{"tf":1.0},"210":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"140":{"tf":1.0},"59":{"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":6,"docs":{"138":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"291":{"tf":1.0}}}}},"r":{"df":1,"docs":{"107":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"183":{"tf":1.0},"201":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"276":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":13,"docs":{"133":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.7320508075688772},"166":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"232":{"tf":1.0},"249":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"273":{"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":5,"docs":{"209":{"tf":1.0},"210":{"tf":1.0},"247":{"tf":1.0},"268":{"tf":1.0},"93":{"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":2,"docs":{"151":{"tf":1.0},"249":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"74":{"tf":1.0},"75":{"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":{"120":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"60":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"298":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":12,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"187":{"tf":1.0},"220":{"tf":1.4142135623730951},"228":{"tf":1.0},"25":{"tf":1.0},"252":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"t":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":4,"docs":{"173":{"tf":3.0},"231":{"tf":1.0},"244":{"tf":1.0},"39":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"112":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"201":{"tf":1.0}}}}}}},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"264":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"131":{"tf":1.0},"142":{"tf":1.0},"160":{"tf":1.0},"190":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":7,"docs":{"103":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"158":{"tf":1.0},"171":{"tf":1.0},"83":{"tf":1.0},"87":{"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":7,"docs":{"107":{"tf":1.0},"151":{"tf":1.0},"184":{"tf":1.0},"263":{"tf":1.4142135623730951},"64":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"73":{"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":{"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"157":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":5,"docs":{"150":{"tf":1.0},"201":{"tf":1.0},"239":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"201":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"220":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"242":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"233":{"tf":1.0},"244":{"tf":1.0},"293":{"tf":1.4142135623730951},"68":{"tf":1.0},"81":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":7,"docs":{"126":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"184":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}},"u":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"a":{"df":0,"docs":{},"t":{")":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"150":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"f":{"df":1,"docs":{"193":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{")":{".":{"df":0,"docs":{},"v":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"110":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}}}}},"v":{"df":1,"docs":{"110":{"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":{"181":{"tf":1.0}}},"1":{"df":1,"docs":{"181":{"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":{")":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"193":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"124":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"(":{"c":{"a":{"df":0,"docs":{},"t":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"272":{"tf":1.0},"273":{"tf":1.0},"274":{"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"279":{"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":9,"docs":{"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"201":{"tf":1.0},"207":{"tf":2.449489742783178},"233":{"tf":1.0},"234":{"tf":1.0},"245":{"tf":1.0},"248":{"tf":1.0},"286":{"tf":1.0}},"p":{"df":5,"docs":{"201":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":3.1622776601683795},"208":{"tf":2.0}},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"152":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":2,"docs":{"245":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"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":{":":{"1":{"1":{"df":1,"docs":{"207":{"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":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":25,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"187":{"tf":1.4142135623730951},"201":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"242":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"296":{"tf":1.0},"38":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":26,"docs":{"138":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"79":{"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":{"235":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"181":{"tf":1.0},"219":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"25":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.0},"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":13,"docs":{"110":{"tf":1.0},"138":{"tf":1.0},"188":{"tf":1.0},"203":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"229":{"tf":1.4142135623730951},"252":{"tf":1.0},"271":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"93":{"tf":1.7320508075688772}}}},"df":147,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":1.0},"134":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":2.23606797749979},"169":{"tf":1.7320508075688772},"17":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"18":{"tf":1.0},"181":{"tf":1.4142135623730951},"184":{"tf":2.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":2.0},"19":{"tf":1.4142135623730951},"192":{"tf":1.0},"197":{"tf":1.4142135623730951},"198":{"tf":1.0},"20":{"tf":1.0},"200":{"tf":1.4142135623730951},"201":{"tf":1.7320508075688772},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":2.0},"208":{"tf":2.0},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"213":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"222":{"tf":1.4142135623730951},"223":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"227":{"tf":1.0},"229":{"tf":2.23606797749979},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"247":{"tf":2.23606797749979},"249":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"250":{"tf":2.449489742783178},"252":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"256":{"tf":1.4142135623730951},"259":{"tf":1.7320508075688772},"261":{"tf":1.4142135623730951},"263":{"tf":2.23606797749979},"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"275":{"tf":1.7320508075688772},"277":{"tf":1.0},"279":{"tf":2.449489742783178},"29":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.7320508075688772},"3":{"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},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"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":{"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":{}},"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":{"124":{"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":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"204":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"df":34,"docs":{"110":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"17":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"188":{"tf":2.23606797749979},"194":{"tf":1.0},"201":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"215":{"tf":1.4142135623730951},"219":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.4142135623730951},"243":{"tf":2.0},"244":{"tf":1.0},"265":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0}},"i":{"d":{"df":4,"docs":{"209":{"tf":1.4142135623730951},"231":{"tf":1.0},"233":{"tf":1.4142135623730951},"235":{"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":{"235":{"tf":1.7320508075688772}}}}}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"204":{"tf":1.0}}}}}}}}}}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"199":{"tf":1.0},"271":{"tf":1.0},"288":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}}},"df":4,"docs":{"170":{"tf":1.0},"231":{"tf":1.0},"255":{"tf":1.0},"72":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"273":{"tf":1.0}}}}}}}}},"v":{">":{"(":{"\"":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"c":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{".":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"<":{"%":{"df":1,"docs":{"243":{"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":{}}}}}}}},"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":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":2.0}}}}}}},"x":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"278":{"tf":1.0}}}},"l":{"df":9,"docs":{"110":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":2.23606797749979},"208":{"tf":1.0},"58":{"tf":2.0}},"i":{"d":{"df":28,"docs":{"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"112":{"tf":1.4142135623730951},"119":{"tf":1.0},"148":{"tf":1.4142135623730951},"150":{"tf":1.0},"172":{"tf":1.0},"196":{"tf":1.0},"199":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"229":{"tf":2.0},"242":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"266":{"tf":1.0},"273":{"tf":1.7320508075688772},"50":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"158":{"tf":1.0}}}},"df":0,"docs":{}},"df":80,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":2.23606797749979},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"119":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.4142135623730951},"137":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":2.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":2.449489742783178},"209":{"tf":1.4142135623730951},"210":{"tf":3.0},"211":{"tf":2.0},"212":{"tf":1.7320508075688772},"213":{"tf":2.6457513110645907},"214":{"tf":2.8284271247461903},"215":{"tf":2.6457513110645907},"216":{"tf":1.4142135623730951},"219":{"tf":2.6457513110645907},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.7320508075688772},"255":{"tf":1.0},"288":{"tf":2.6457513110645907},"291":{"tf":1.0},"293":{"tf":6.082762530298219},"298":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"'":{"df":5,"docs":{"103":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"212":{"tf":1.0}}},"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"r":{"df":127,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":2.449489742783178},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"145":{"tf":2.0},"146":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":2.0},"152":{"tf":2.23606797749979},"153":{"tf":2.23606797749979},"154":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"161":{"tf":1.7320508075688772},"162":{"tf":2.23606797749979},"164":{"tf":2.449489742783178},"165":{"tf":3.0},"168":{"tf":2.0},"171":{"tf":1.7320508075688772},"173":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"184":{"tf":3.4641016151377544},"186":{"tf":1.7320508075688772},"187":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"197":{"tf":2.0},"206":{"tf":2.23606797749979},"207":{"tf":2.449489742783178},"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"213":{"tf":1.0},"221":{"tf":1.4142135623730951},"233":{"tf":2.0},"234":{"tf":1.4142135623730951},"235":{"tf":1.0},"245":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":2.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"281":{"tf":1.0},"286":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"51":{"tf":2.449489742783178},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"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.7320508075688772},"99":{"tf":1.0}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":35,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":2.449489742783178},"112":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.4142135623730951},"144":{"tf":1.0},"147":{"tf":2.0},"148":{"tf":1.4142135623730951},"149":{"tf":2.6457513110645907},"150":{"tf":1.0},"154":{"tf":1.0},"184":{"tf":1.0},"249":{"tf":1.0},"45":{"tf":2.6457513110645907},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":2.23606797749979},"72":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"154":{"tf":1.7320508075688772},"173":{"tf":1.0},"180":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"247":{"tf":1.0},"251":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0}}}},"t":{"df":1,"docs":{"163":{"tf":1.0}}}},"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"91":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":8,"docs":{"173":{"tf":1.0},"209":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0},"298":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"269":{"tf":1.0}}}}},"df":6,"docs":{"172":{"tf":1.0},"243":{"tf":1.4142135623730951},"293":{"tf":5.744562646538029},"58":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"268":{"tf":1.0},"274":{"tf":1.0}},"e":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":58,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":2.0},"140":{"tf":1.0},"142":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":1.4142135623730951},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"175":{"tf":1.4142135623730951},"178":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"245":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"259":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"282":{"tf":1.0},"299":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":1,"docs":{"116":{"tf":1.0}},"i":{"df":2,"docs":{"209":{"tf":1.0},"25":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":23,"docs":{"10":{"tf":1.4142135623730951},"137":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"177":{"tf":1.0},"187":{"tf":1.0},"190":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"221":{"tf":1.0},"229":{"tf":1.0},"232":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"264":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":5,"docs":{"232":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"148":{"tf":1.0},"165":{"tf":1.0},"180":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.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":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"223":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"195":{"tf":1.0},"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"222":{"tf":2.8284271247461903},"223":{"tf":2.449489742783178},"224":{"tf":2.0},"225":{"tf":2.0},"226":{"tf":2.0},"227":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.0},"231":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"140":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":2,"docs":{"231":{"tf":1.0},"260":{"tf":1.0}}},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"w":{"/":{"df":0,"docs":{},"o":{"df":4,"docs":{"207":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"230":{"tf":1.0},"244":{"tf":1.7320508075688772},"81":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":3,"docs":{"268":{"tf":1.0},"272":{"tf":1.0},"34":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":26,"docs":{"111":{"tf":1.0},"113":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.7320508075688772},"172":{"tf":1.7320508075688772},"178":{"tf":1.0},"194":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.7320508075688772},"223":{"tf":1.0},"232":{"tf":1.0},"235":{"tf":1.0},"247":{"tf":1.0},"256":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"272":{"tf":1.4142135623730951},"277":{"tf":1.0},"280":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"102":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"206":{"tf":1.0},"258":{"tf":1.0},"33":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"215":{"tf":1.0},"219":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"142":{"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":{"233":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"233":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"275":{"tf":1.0}}}}},"y":{"df":50,"docs":{"101":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"13":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"183":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":1.0},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"244":{"tf":1.4142135623730951},"257":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"272":{"tf":1.4142135623730951},"282":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"43":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}}}},"df":2,"docs":{"101":{"tf":1.0},"72":{"tf":1.7320508075688772}},"e":{"'":{"d":{"df":3,"docs":{"129":{"tf":1.0},"232":{"tf":1.0},"272":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":13,"docs":{"198":{"tf":1.0},"206":{"tf":1.0},"228":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"272":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":4,"docs":{"161":{"tf":1.0},"173":{"tf":1.0},"276":{"tf":1.0},"39":{"tf":1.0}}}},"b":{"df":9,"docs":{"215":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":2.449489742783178},"254":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"<":{"/":{"df":0,"docs":{},"h":{"1":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"0":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"243":{"tf":1.0},"282":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":11,"docs":{"1":{"tf":1.0},"171":{"tf":1.0},"18":{"tf":1.0},"208":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.7320508075688772},"3":{"tf":1.0},"64":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":4,"docs":{"15":{"tf":1.0},"168":{"tf":1.0},"198":{"tf":1.0},"277":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"173":{"tf":1.0},"219":{"tf":1.0},"238":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"173":{"tf":1.0},"209":{"tf":1.0},"238":{"tf":1.0},"266":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":6,"docs":{"157":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"245":{"tf":1.0},"274":{"tf":1.0},"65":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"190":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"155":{"tf":1.0},"263":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":1.0},"182":{"tf":1.0},"201":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"288":{"tf":1.4142135623730951},"48":{"tf":1.0},"79":{"tf":1.0},"86":{"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":{"52":{"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":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"273":{"tf":1.0},"45":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":12,"docs":{"167":{"tf":1.0},"202":{"tf":1.0},"233":{"tf":1.0},"248":{"tf":1.0},"271":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"85":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"113":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"277":{"tf":1.0}},"n":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"262":{"tf":1.0},"72":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"67":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"72":{"tf":1.7320508075688772},"73":{"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":{"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":{}},"n":{"df":6,"docs":{"184":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"71":{"tf":1.7320508075688772},"79":{"tf":1.0}}},"p":{"df":21,"docs":{"172":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"267":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"284":{"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":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"102":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.0},"173":{"tf":1.4142135623730951},"183":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"246":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"39":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"295":{"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":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":28,"docs":{"115":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"188":{"tf":1.4142135623730951},"194":{"tf":1.0},"2":{"tf":1.0},"208":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"6":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":9,"docs":{"103":{"tf":1.0},"169":{"tf":1.0},"189":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"220":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"279":{"tf":1.0}}}},"r":{"d":{"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":25,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.0},"233":{"tf":1.0},"244":{"tf":2.0},"248":{"tf":1.0},"249":{"tf":1.0},"258":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":12,"docs":{"158":{"tf":1.4142135623730951},"228":{"tf":1.0},"242":{"tf":1.0},"263":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"65":{"tf":2.0},"8":{"tf":1.7320508075688772},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"221":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"150":{"tf":1.0},"194":{"tf":1.0},"33":{"tf":1.0}}}},"s":{"df":5,"docs":{"112":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"101":{"tf":1.0},"181":{"tf":1.0},"208":{"tf":1.0},"214":{"tf":1.0},"276":{"tf":1.0},"65":{"tf":1.0},"92":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"209":{"tf":1.0},"272":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":21,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":2.23606797749979},"123":{"tf":1.0},"130":{"tf":1.0},"152":{"tf":1.4142135623730951},"163":{"tf":1.0},"170":{"tf":3.0},"181":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"243":{"tf":1.0},"27":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":4,"docs":{"194":{"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":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"208":{"tf":1.0}}}}},"df":35,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"237":{"tf":1.4142135623730951},"242":{"tf":1.0},"245":{"tf":1.4142135623730951},"246":{"tf":1.0},"247":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.4142135623730951},"262":{"tf":1.0},"264":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":7,"docs":{"115":{"tf":1.0},"153":{"tf":1.0},"173":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.0},"65":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"31":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":29,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"126":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"145":{"tf":1.7320508075688772},"146":{"tf":1.4142135623730951},"148":{"tf":1.7320508075688772},"149":{"tf":1.7320508075688772},"152":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"170":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":2.0},"187":{"tf":1.7320508075688772},"208":{"tf":1.7320508075688772},"221":{"tf":1.0},"248":{"tf":2.0},"288":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"75":{"tf":5.0990195135927845},"77":{"tf":2.449489742783178},"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"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":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"y":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":9,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"146":{"tf":2.0},"172":{"tf":1.7320508075688772},"208":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"52":{"tf":1.0},"75":{"tf":5.196152422706632}},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"142":{"tf":1.4142135623730951},"236":{"tf":1.0},"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":{"111":{"tf":2.23606797749979},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"74":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"112":{"tf":2.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"58":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":14,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"155":{"tf":1.0},"185":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"229":{"tf":1.0},"233":{"tf":1.0},"247":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"277":{"tf":1.4142135623730951},"45":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":36,"docs":{"115":{"tf":1.0},"12":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.4142135623730951},"189":{"tf":1.0},"19":{"tf":1.0},"194":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"224":{"tf":1.0},"225":{"tf":1.0},"23":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":29,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"18":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"217":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"24":{"tf":1.0},"248":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.4142135623730951},"260":{"tf":1.0},"261":{"tf":1.0},"265":{"tf":1.0},"267":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"64":{"tf":1.0}}},"v":{"df":13,"docs":{"131":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.0},"198":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"266":{"tf":1.0},"275":{"tf":1.4142135623730951},"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":8,"docs":{"112":{"tf":1.0},"150":{"tf":1.0},"208":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.0},"265":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0}}}}}}}}}},"z":{"df":1,"docs":{"75":{"tf":5.5677643628300215}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"116":{"tf":1.0},"171":{"tf":1.0},"4":{"tf":1.0},"75":{"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":{"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":33,"docs":{"101":{"tf":1.0},"102":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"170":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"248":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"87":{"tf":1.0},"90":{"tf":1.4142135623730951}},"}":{".":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.0},"270":{"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":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"269":{"tf":1.0},"270":{"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":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"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":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"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":{}}}},"df":0,"docs":{}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"175":{"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":{"137":{"tf":1.0}}},"3":{"5":{"df":0,"docs":{},"e":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{".":{"5":{"5":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{".":{"0":{"df":1,"docs":{"184":{"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":{"149":{"tf":1.0},"184":{"tf":1.4142135623730951},"233":{"tf":1.0}}},"df":6,"docs":{"131":{"tf":1.0},"149":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"51":{"tf":1.4142135623730951},"72":{"tf":1.0}},"x":{"1":{"0":{"0":{"0":{"df":0,"docs":{},"x":{"1":{"0":{"0":{"0":{"df":1,"docs":{"184":{"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":30,"docs":{"108":{"tf":2.449489742783178},"109":{"tf":3.1622776601683795},"123":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"155":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"179":{"tf":2.23606797749979},"197":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":2.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"95":{"tf":1.0}},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"1":{"1":{"1":{"1":{"1":{"1":{"1":{"df":1,"docs":{"180":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"87":{"tf":1.0}}},"df":2,"docs":{"139":{"tf":1.0},"173":{"tf":1.0}}},"2":{"df":1,"docs":{"94":{"tf":1.0}}},"5":{".":{"0":{"df":2,"docs":{"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"141":{"tf":1.0},"146":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"45":{"tf":1.0}}},":":{"1":{"df":2,"docs":{"291":{"tf":1.0},"293":{"tf":1.0}}},"_":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"df":139,"docs":{"10":{"tf":1.4142135623730951},"101":{"tf":2.0},"102":{"tf":1.7320508075688772},"103":{"tf":2.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"113":{"tf":1.0},"114":{"tf":2.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"132":{"tf":2.23606797749979},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":2.0},"15":{"tf":1.4142135623730951},"150":{"tf":2.449489742783178},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.449489742783178},"179":{"tf":2.0},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":2.0},"186":{"tf":2.8284271247461903},"187":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":3.0},"209":{"tf":1.0},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"221":{"tf":1.4142135623730951},"223":{"tf":1.0},"228":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"253":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.0},"261":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":2.8284271247461903},"74":{"tf":1.4142135623730951},"75":{"tf":3.4641016151377544},"77":{"tf":2.23606797749979},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.4142135623730951},"83":{"tf":2.449489742783178},"84":{"tf":2.23606797749979},"85":{"tf":2.449489742783178},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}},"m":{"b":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"*":{"a":{"df":1,"docs":{"114":{"tf":1.0}}},"b":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"7":{"3":{"9":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":3,"docs":{"109":{"tf":1.0},"158":{"tf":1.0},"48":{"tf":1.0}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"df":1,"docs":{"180":{"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":{"96":{"tf":1.7320508075688772}}},"9":{"df":4,"docs":{"106":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"207":{"tf":2.449489742783178},"96":{"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":112,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":2.449489742783178},"115":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"135":{"tf":1.0},"139":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"16":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"170":{"tf":1.0},"175":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"178":{"tf":2.23606797749979},"179":{"tf":1.0},"180":{"tf":2.0},"181":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"187":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"193":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"224":{"tf":1.0},"228":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.7320508075688772},"288":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"71":{"tf":1.7320508075688772},"73":{"tf":3.4641016151377544},"74":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"3":{".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"158":{"tf":1.0}}},"2":{"df":2,"docs":{"155":{"tf":1.0},"45":{"tf":1.0}}},"3":{"df":1,"docs":{"51":{"tf":1.4142135623730951}}},"df":86,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"106":{"tf":1.7320508075688772},"108":{"tf":1.0},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":2.0},"121":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.7320508075688772},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"164":{"tf":1.0},"170":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.0},"180":{"tf":2.0},"181":{"tf":1.0},"183":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"19":{"tf":1.0},"193":{"tf":1.0},"197":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"228":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":2.23606797749979},"75":{"tf":3.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0},"98":{"tf":1.0}},"r":{"d":{"df":2,"docs":{"215":{"tf":1.0},"252":{"tf":1.0}}},"df":0,"docs":{}}},"4":{".":{"0":{"df":1,"docs":{"115":{"tf":1.0}}},"df":0,"docs":{}},"df":53,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"195":{"tf":1.0},"20":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"99":{"tf":1.0}}},"5":{"0":{"df":2,"docs":{"231":{"tf":1.0},"257":{"tf":1.0}}},"4":{"3":{"2":{"df":2,"docs":{"210":{"tf":1.0},"257":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":43,"docs":{"103":{"tf":1.0},"123":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"165":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"189":{"tf":1.0},"197":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"248":{"tf":1.4142135623730951},"251":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"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":{"115":{"tf":1.0},"116":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"45":{"tf":1.0}}},"6":{"df":1,"docs":{"51":{"tf":2.0}}},"df":24,"docs":{"103":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.4142135623730951},"158":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"197":{"tf":1.0},"206":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.0},"228":{"tf":1.0},"26":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}}},"7":{"5":{"4":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":13,"docs":{"124":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"172":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.7320508075688772}}},"8":{"0":{"8":{"0":{"df":4,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":10,"docs":{"139":{"tf":1.0},"152":{"tf":1.4142135623730951},"172":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"262":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.0},"29":{"tf":1.0},"52":{"tf":1.0}}},"9":{"9":{"9":{"9":{"9":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"103":{"tf":2.0},"179":{"tf":1.4142135623730951},"187":{"tf":2.8284271247461903},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}},"df":7,"docs":{"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"172":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"52":{"tf":1.0},"54":{"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":{"74":{"tf":1.4142135623730951}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"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":{"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":{}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"74":{"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":25,"docs":{"108":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"154":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.0},"219":{"tf":1.0},"235":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"293":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":3.872983346207417},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"263":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{":":{"_":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":2,"docs":{"167":{"tf":1.0},"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"a":{"df":1,"docs":{"179":{"tf":2.23606797749979}}},"df":0,"docs":{}},"b":{"c":{"d":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"107":{"tf":1.4142135623730951},"153":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"255":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0}}}},"o":{"df":0,"docs":{},"v":{"df":53,"docs":{"110":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"129":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.4142135623730951},"159":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"197":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"235":{"tf":1.4142135623730951},"241":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.7320508075688772},"263":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"279":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"51":{"tf":1.0},"64":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"s":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"252":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"115":{"tf":1.0},"157":{"tf":1.0},"272":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"236":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":2.0},"277":{"tf":1.0},"278":{"tf":3.1622776601683795},"279":{"tf":2.0},"280":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":13,"docs":{"134":{"tf":1.0},"156":{"tf":1.7320508075688772},"170":{"tf":1.0},"173":{"tf":1.0},"181":{"tf":1.0},"217":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"267":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":26,"docs":{"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"123":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.7320508075688772},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"116":{"tf":1.0},"124":{"tf":1.0},"214":{"tf":1.0},"237":{"tf":1.0},"269":{"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":4,"docs":{"169":{"tf":1.0},"173":{"tf":1.0},"190":{"tf":1.0},"243":{"tf":1.0}}}}}}}},"r":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"222":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"155":{"tf":2.6457513110645907},"289":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"155":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"213":{"tf":1.0},"39":{"tf":1.0}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":10,"docs":{"108":{"tf":1.0},"160":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.7320508075688772},"259":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"36":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"276":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"t":{"df":2,"docs":{"239":{"tf":1.0},"267":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"284":{"tf":1.0},"288":{"tf":3.3166247903554},"291":{"tf":1.7320508075688772},"293":{"tf":1.7320508075688772},"298":{"tf":1.7320508075688772}}}},"v":{"df":3,"docs":{"243":{"tf":1.0},"263":{"tf":1.0},"7":{"tf":2.23606797749979}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":64,"docs":{"102":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"127":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":2.23606797749979},"173":{"tf":2.0},"174":{"tf":1.4142135623730951},"180":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"201":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"213":{"tf":1.7320508075688772},"215":{"tf":1.0},"216":{"tf":1.0},"22":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":2.6457513110645907},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"273":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"231":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":5,"docs":{"134":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"192":{"tf":1.0},"193":{"tf":1.0}}}},"x":{"df":2,"docs":{"141":{"tf":1.0},"146":{"tf":1.0}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":2,"docs":{"298":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":2,"docs":{"291":{"tf":1.0},"91":{"tf":1.0}}},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}},"s":{"b":{"df":1,"docs":{"301":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":18,"docs":{"135":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"166":{"tf":1.0},"169":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.7320508075688772},"30":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"85":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"165":{"tf":1.0},"190":{"tf":1.0},"210":{"tf":1.0},"257":{"tf":1.0},"267":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.4142135623730951},"66":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.0},"239":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"r":{"df":2,"docs":{"109":{"tf":2.449489742783178},"197":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":21,"docs":{"116":{"tf":1.0},"124":{"tf":1.0},"140":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"170":{"tf":1.0},"178":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"268":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":14,"docs":{"113":{"tf":1.4142135623730951},"164":{"tf":1.0},"195":{"tf":1.0},"207":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"39":{"tf":1.4142135623730951},"59":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"194":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":12,"docs":{"138":{"tf":1.7320508075688772},"147":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":1.0},"166":{"tf":1.0},"235":{"tf":1.7320508075688772},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"265":{"tf":1.4142135623730951},"271":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"144":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.4142135623730951},"229":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"39":{"tf":1.0},"48":{"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":2,"docs":{"149":{"tf":1.0},"293":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":11,"docs":{"109":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"184":{"tf":1.0},"202":{"tf":1.0},"240":{"tf":1.0},"274":{"tf":1.0},"64":{"tf":2.0},"65":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"187":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.0},"66":{"tf":1.0}}}}}}},"df":4,"docs":{"106":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"207":{"tf":3.605551275463989},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"280":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":8,"docs":{"113":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"198":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"d":{"df":1,"docs":{"209":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":4,"docs":{"215":{"tf":1.0},"242":{"tf":1.0},"264":{"tf":1.0},"281":{"tf":1.0}}}},"l":{"a":{"df":1,"docs":{"288":{"tf":1.0}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"150":{"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":{"230":{"tf":1.0}}}}}}}}},"i":{"a":{"df":20,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":2.0},"130":{"tf":2.6457513110645907},"200":{"tf":1.7320508075688772},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":2.449489742783178},"204":{"tf":1.7320508075688772},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}},"s":{"df":8,"docs":{"114":{"tf":2.0},"115":{"tf":2.449489742783178},"116":{"tf":2.449489742783178},"117":{"tf":2.23606797749979},"118":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"200":{"tf":1.0},"203":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"131":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"45":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":46,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"108":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"137":{"tf":1.0},"144":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":2.0},"190":{"tf":1.0},"194":{"tf":1.4142135623730951},"201":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"207":{"tf":2.0},"208":{"tf":2.0},"209":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"254":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"127":{"tf":1.0},"149":{"tf":1.0},"163":{"tf":1.0},"177":{"tf":1.0},"193":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0}},"g":{"df":3,"docs":{"156":{"tf":1.0},"217":{"tf":1.4142135623730951},"255":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":24,"docs":{"119":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.0},"205":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":2.0},"293":{"tf":1.7320508075688772},"298":{"tf":2.23606797749979},"69":{"tf":1.0},"73":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"95":{"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":{"235":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"117":{"tf":1.0},"12":{"tf":1.4142135623730951},"135":{"tf":1.0},"145":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.0},"291":{"tf":1.4142135623730951},"64":{"tf":1.0},"77":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"122":{"tf":1.0},"220":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":11,"docs":{"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"244":{"tf":1.0},"265":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":2.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":8,"docs":{"139":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":2.0},"166":{"tf":1.0},"176":{"tf":2.6457513110645907},"177":{"tf":2.6457513110645907},"92":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"115":{"tf":1.0},"229":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":4,"docs":{"207":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"55":{"tf":1.0}}}},"y":{"df":0,"docs":{},"z":{"df":3,"docs":{"231":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"270":{"tf":1.7320508075688772},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"278":{"tf":1.0}}}}},"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":5,"docs":{"266":{"tf":1.7320508075688772},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0}}}}},"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":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"267":{"tf":1.0},"279":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"279":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"266":{"tf":2.449489742783178},"267":{"tf":2.6457513110645907},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"274":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951}},"s":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"266":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"272":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}}}}},"df":9,"docs":{"267":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"272":{"tf":2.8284271247461903},"273":{"tf":2.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"277":{"tf":1.7320508075688772},"278":{"tf":2.6457513110645907},"279":{"tf":4.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":26,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.4142135623730951},"131":{"tf":2.0},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"153":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.0},"180":{"tf":1.0},"243":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"298":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":1.0}}},"y":{"df":1,"docs":{"208":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"135":{"tf":1.0},"147":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":21,"docs":{"112":{"tf":1.0},"122":{"tf":1.4142135623730951},"128":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"199":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.0},"255":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"93":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"151":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"195":{"tf":1.0},"206":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"277":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":9,"docs":{"147":{"tf":1.0},"169":{"tf":1.0},"217":{"tf":1.0},"229":{"tf":1.0},"255":{"tf":1.0},"264":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.0},"67":{"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":7,"docs":{"183":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"243":{"tf":1.0},"270":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"269":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"}":{"/":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"}":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"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":{}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"221":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"279":{"tf":1.7320508075688772}}}}}}}}},"df":45,"docs":{"166":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.7320508075688772},"193":{"tf":1.4142135623730951},"194":{"tf":1.4142135623730951},"198":{"tf":2.6457513110645907},"199":{"tf":1.4142135623730951},"200":{"tf":1.0},"201":{"tf":1.4142135623730951},"202":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"216":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.4142135623730951},"220":{"tf":1.0},"221":{"tf":2.23606797749979},"227":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"tf":2.0},"230":{"tf":1.0},"243":{"tf":1.0},"265":{"tf":1.7320508075688772},"266":{"tf":2.8284271247461903},"267":{"tf":4.0},"268":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.4142135623730951},"300":{"tf":1.0},"36":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"176":{"tf":1.0},"221":{"tf":1.0},"291":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"93":{"tf":1.0}}}},"df":6,"docs":{"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"33":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"244":{"tf":1.0},"291":{"tf":1.0}}},"df":6,"docs":{"101":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.4142135623730951},"291":{"tf":1.0},"75":{"tf":1.0}}},"y":{"(":{"1":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"<":{"a":{">":{"(":{"a":{"df":1,"docs":{"139":{"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":{"146":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"1":{"0":{"df":1,"docs":{"146":{"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":1,"docs":{"279":{"tf":1.0}}},"df":15,"docs":{"160":{"tf":1.0},"169":{"tf":1.0},"207":{"tf":1.0},"216":{"tf":1.0},"224":{"tf":1.4142135623730951},"239":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":2.0},"264":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"167":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"210":{"tf":1.0},"228":{"tf":1.0},"59":{"tf":1.0}}}}},"v":{"df":1,"docs":{"207":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"107":{"tf":1.0},"184":{"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":24,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.7320508075688772},"4":{"tf":1.0},"48":{"tf":1.7320508075688772},"69":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"119":{"tf":1.0},"182":{"tf":1.0},"220":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"85":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"72":{"tf":2.8284271247461903}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":6,"docs":{"130":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"243":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"'":{"df":1,"docs":{"239":{"tf":1.0}}},"(":{"df":2,"docs":{"138":{"tf":1.0},"248":{"tf":1.0}}},"1":{"df":1,"docs":{"114":{"tf":1.0}}},"2":{"df":2,"docs":{"114":{"tf":1.7320508075688772},"156":{"tf":1.0}}},"c":{"df":1,"docs":{"232":{"tf":1.0}}},"df":22,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.0},"139":{"tf":1.4142135623730951},"146":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"160":{"tf":1.0},"170":{"tf":1.7320508075688772},"172":{"tf":1.0},"175":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"220":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":2.0},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"48":{"tf":1.0}},"s":{"/":{"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":1,"docs":{"167":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"137":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"163":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":16,"docs":{"124":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":2.0},"147":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.449489742783178},"173":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"239":{"tf":1.4142135623730951},"247":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"151":{"tf":1.0},"177":{"tf":1.0},"209":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"144":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"251":{"tf":1.0},"274":{"tf":1.0},"276":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"233":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"64":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"196":{"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":9,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"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":{},"i":{"d":{"df":2,"docs":{"172":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"k":{"df":5,"docs":{"157":{"tf":1.0},"164":{"tf":1.0},"230":{"tf":1.4142135623730951},"269":{"tf":1.0},"81":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"260":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"209":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"102":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"254":{"tf":1.0}},"e":{"d":{">":{"(":{"df":0,"docs":{},"o":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"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":{"138":{"tf":1.4142135623730951}}}}}}}}}},"<":{"a":{"df":1,"docs":{"138":{"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":9,"docs":{"109":{"tf":1.0},"135":{"tf":1.4142135623730951},"144":{"tf":1.0},"154":{"tf":1.4142135623730951},"219":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"156":{"tf":1.0},"255":{"tf":1.0},"293":{"tf":3.7416573867739413},"68":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"166":{"tf":1.0},"196":{"tf":1.4142135623730951},"33":{"tf":1.0},"84":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"298":{"tf":1.0}}}}}}},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"233":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":21,"docs":{"111":{"tf":2.6457513110645907},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"175":{"tf":1.0},"202":{"tf":2.8284271247461903},"204":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"295":{"tf":1.0},"297":{"tf":2.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"74":{"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":{"112":{"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":16,"docs":{"103":{"tf":1.4142135623730951},"119":{"tf":1.0},"137":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"230":{"tf":1.0},"258":{"tf":1.0},"288":{"tf":2.6457513110645907},"293":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0},"79":{"tf":1.0},"81":{"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":{"246":{"tf":1.0}}}},"df":1,"docs":{"246":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"220":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}},"o":{"df":5,"docs":{"11":{"tf":1.4142135623730951},"189":{"tf":1.0},"254":{"tf":1.4142135623730951},"258":{"tf":1.0},"278":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":18,"docs":{"109":{"tf":2.0},"121":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.7320508075688772},"180":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"220":{"tf":1.4142135623730951},"221":{"tf":1.0},"233":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.4142135623730951},"273":{"tf":1.0},"284":{"tf":1.0},"301":{"tf":1.0},"80":{"tf":1.0}}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"156":{"tf":1.0},"167":{"tf":1.0},"189":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.23606797749979},"25":{"tf":1.4142135623730951},"265":{"tf":1.0},"268":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":16,"docs":{"131":{"tf":1.0},"137":{"tf":1.4142135623730951},"160":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0},"243":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"298":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"183":{"tf":1.4142135623730951}}},"y":{"df":4,"docs":{"130":{"tf":1.0},"172":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"b":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"155":{"tf":1.0},"289":{"tf":1.4142135623730951}}}},"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":{"188":{"tf":1.0}}}}}},"df":6,"docs":{"233":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"215":{"tf":1.0},"236":{"tf":1.0},"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":3,"docs":{"157":{"tf":1.0},"256":{"tf":1.0},"275":{"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":{"64":{"tf":1.4142135623730951}}}}}}}}},"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"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":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"206":{"tf":2.0},"245":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"135":{"tf":1.0},"145":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"245":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"168":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":2.0}}}}}},"1":{"0":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":3,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}},"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":{"245":{"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":{"245":{"tf":1.0},"246":{"tf":1.0}}}}}},"a":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":2.449489742783178}}},"b":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":1.4142135623730951}}},"c":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"232":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"232":{"tf":2.0}}},"df":6,"docs":{"120":{"tf":1.4142135623730951},"168":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"232":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"232":{"tf":2.0}}}},"s":{"df":0,"docs":{},"e":{"df":19,"docs":{"139":{"tf":1.0},"155":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":1.0},"219":{"tf":1.0},"229":{"tf":1.4142135623730951},"236":{"tf":1.0},"254":{"tf":1.0},"271":{"tf":1.4142135623730951},"272":{"tf":1.0},"274":{"tf":1.0},"278":{"tf":1.0},"3":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"h":{"df":1,"docs":{"262":{"tf":1.0}}},"i":{"c":{"df":10,"docs":{"201":{"tf":1.0},"220":{"tf":1.0},"252":{"tf":2.0},"253":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"262":{"tf":1.0},"266":{"tf":1.0},"45":{"tf":1.0}}},"df":1,"docs":{"174":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{}},"z":{"df":1,"docs":{"120":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"'":{"df":9,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"222":{"tf":1.7320508075688772},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"268":{"tf":1.0},"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":37,"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},"189":{"tf":1.0},"19":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"196":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"217":{"tf":2.449489742783178},"22":{"tf":1.0},"220":{"tf":1.4142135623730951},"222":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"260":{"tf":1.7320508075688772},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":2.449489742783178},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.4142135623730951},"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":{"179":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"158":{"tf":1.0}},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":13,"docs":{"114":{"tf":1.7320508075688772},"132":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"154":{"tf":2.0},"155":{"tf":2.449489742783178},"184":{"tf":2.0},"289":{"tf":2.23606797749979},"294":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"97":{"tf":1.7320508075688772},"98":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":31,"docs":{"131":{"tf":1.0},"182":{"tf":1.4142135623730951},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"213":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.4142135623730951},"259":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.7320508075688772},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}}}},"df":31,"docs":{"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"45":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"156":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"206":{"tf":1.0},"212":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0},"288":{"tf":1.7320508075688772},"50":{"tf":1.0},"64":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"131":{"tf":1.0},"194":{"tf":1.4142135623730951},"25":{"tf":1.0},"260":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"158":{"tf":1.0},"160":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.0},"59":{"tf":1.0},"79":{"tf":1.0},"93":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"244":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"107":{"tf":1.0}}},"v":{"df":2,"docs":{"175":{"tf":1.0},"187":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":63,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.4142135623730951},"228":{"tf":1.0},"231":{"tf":1.4142135623730951},"238":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"269":{"tf":1.0},"300":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"242":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"226":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"160":{"tf":1.0},"163":{"tf":1.0},"203":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"277":{"tf":1.0}}}}},"t":{"df":3,"docs":{"153":{"tf":1.0},"172":{"tf":1.0},"274":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"129":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"231":{"tf":1.0},"269":{"tf":1.0},"93":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":26,"docs":{"107":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.0},"198":{"tf":1.4142135623730951},"202":{"tf":1.0},"214":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.4142135623730951},"238":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":8,"docs":{"152":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.0},"201":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"236":{"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":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"5":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"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":{"128":{"tf":1.0}}}}},"d":{"df":2,"docs":{"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":8,"docs":{"156":{"tf":1.0},"157":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.7320508075688772},"77":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.7320508075688772}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":27,"docs":{"140":{"tf":1.0},"188":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"221":{"tf":1.0},"23":{"tf":1.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":2.6457513110645907},"245":{"tf":2.8284271247461903},"246":{"tf":2.8284271247461903},"247":{"tf":3.0},"248":{"tf":4.47213595499958},"249":{"tf":2.8284271247461903},"250":{"tf":1.7320508075688772},"251":{"tf":3.3166247903554},"254":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"297":{"tf":3.872983346207417},"3":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"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":{"249":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"249":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"248":{"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":{"249":{"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":{"247":{"tf":1.0}}},"w":{"df":1,"docs":{"277":{"tf":1.0}},"n":{"df":1,"docs":{"270":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"273":{"tf":1.0}}}}},"o":{"b":{"df":2,"docs":{"247":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"i":{"df":4,"docs":{"147":{"tf":1.0},"156":{"tf":1.0},"231":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"237":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"115":{"tf":1.0},"198":{"tf":1.0},"215":{"tf":1.0},"263":{"tf":1.4142135623730951},"4":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"86":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":26,"docs":{"108":{"tf":1.0},"132":{"tf":1.4142135623730951},"156":{"tf":1.0},"173":{"tf":1.4142135623730951},"180":{"tf":1.0},"220":{"tf":1.0},"235":{"tf":1.0},"247":{"tf":1.4142135623730951},"248":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"267":{"tf":1.0},"283":{"tf":2.0},"284":{"tf":2.0},"288":{"tf":2.0},"289":{"tf":1.0},"291":{"tf":4.123105625617661},"293":{"tf":2.449489742783178},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":2.449489742783178},"298":{"tf":5.477225575051661},"300":{"tf":3.1622776601683795},"45":{"tf":1.7320508075688772},"70":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"221":{"tf":1.0}},"h":{"df":20,"docs":{"158":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"172":{"tf":2.0},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"208":{"tf":1.0},"212":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"247":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"291":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0},"77":{"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":5,"docs":{"130":{"tf":1.4142135623730951},"186":{"tf":1.0},"263":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"208":{"tf":1.0}}}}},"df":6,"docs":{"101":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"175":{"tf":1.0},"244":{"tf":1.0},"291":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"168":{"tf":1.7320508075688772},"170":{"tf":3.0},"171":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"x":{"df":10,"docs":{"178":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":2.0},"221":{"tf":1.0},"262":{"tf":1.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":{"195":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"195":{"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":{"193":{"tf":1.0},"194":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"199":{"tf":1.0},"49":{"tf":1.7320508075688772},"51":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"108":{"tf":1.0},"110":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"188":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":2,"docs":{"15":{"tf":1.0},"172":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"256":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"107":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"172":{"tf":1.0}},"n":{"df":2,"docs":{"140":{"tf":1.0},"243":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"g":{"df":13,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"185":{"tf":2.0},"186":{"tf":1.4142135623730951},"187":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"209":{"tf":1.0},"237":{"tf":1.0},"246":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"df":3,"docs":{"221":{"tf":3.605551275463989},"243":{"tf":1.0},"252":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{":":{":":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"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":{}}}},"i":{"df":0,"docs":{},"l":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"301":{"tf":1.0}}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"25":{"tf":1.0}}}}}},"df":64,"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},"169":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":2.6457513110645907},"190":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":2.0},"196":{"tf":2.449489742783178},"197":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"206":{"tf":1.4142135623730951},"218":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"229":{"tf":1.7320508075688772},"23":{"tf":2.23606797749979},"24":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"259":{"tf":2.6457513110645907},"260":{"tf":3.605551275463989},"261":{"tf":2.0},"262":{"tf":1.7320508075688772},"263":{"tf":3.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.7320508075688772},"266":{"tf":1.7320508075688772},"267":{"tf":2.0},"268":{"tf":2.449489742783178},"269":{"tf":1.7320508075688772},"270":{"tf":2.8284271247461903},"271":{"tf":2.8284271247461903},"272":{"tf":1.7320508075688772},"273":{"tf":2.0},"274":{"tf":1.7320508075688772},"275":{"tf":1.4142135623730951},"276":{"tf":2.0},"277":{"tf":1.7320508075688772},"278":{"tf":1.4142135623730951},"279":{"tf":2.0},"280":{"tf":1.0},"281":{"tf":1.4142135623730951},"286":{"tf":1.0},"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},"48":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"11":{"tf":1.0},"207":{"tf":1.0},"221":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"253":{"tf":1.0},"263":{"tf":1.0},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"80":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":52,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"113":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.4142135623730951},"153":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"182":{"tf":1.0},"184":{"tf":1.7320508075688772},"188":{"tf":1.0},"205":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0},"254":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.0},"299":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"82":{"tf":2.23606797749979},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"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},"93":{"tf":1.0}}}},"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"189":{"tf":1.4142135623730951},"25":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}}},"z":{"df":0,"docs":{},"z":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"168":{"tf":1.0},"170":{"tf":1.0}}}}}}},"df":0,"docs":{}},"%":{"df":1,"docs":{"170":{"tf":1.0}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"df":3,"docs":{"168":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772}}}}},"z":{"df":0,"docs":{},"l":{"df":2,"docs":{"270":{"tf":2.0},"271":{"tf":1.0}},"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":{"139":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"11":{"tf":1.0},"190":{"tf":1.0},"196":{"tf":1.4142135623730951},"242":{"tf":2.6457513110645907},"243":{"tf":1.0},"260":{"tf":1.0}},"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":1,"docs":{"243":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"242":{"tf":1.0},"243":{"tf":1.0}}}}}}},"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":{"150":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":68,"docs":{"127":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"142":{"tf":1.7320508075688772},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":2.449489742783178},"165":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.7320508075688772},"175":{"tf":1.0},"176":{"tf":2.8284271247461903},"177":{"tf":3.1622776601683795},"180":{"tf":1.0},"186":{"tf":1.0},"188":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"214":{"tf":1.0},"221":{"tf":1.7320508075688772},"230":{"tf":1.0},"232":{"tf":1.7320508075688772},"233":{"tf":2.6457513110645907},"234":{"tf":1.4142135623730951},"238":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":2.23606797749979},"246":{"tf":2.0},"247":{"tf":1.0},"248":{"tf":2.6457513110645907},"254":{"tf":1.0},"256":{"tf":1.4142135623730951},"257":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.7320508075688772},"291":{"tf":2.449489742783178},"293":{"tf":1.7320508075688772},"298":{"tf":2.8284271247461903},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"153":{"tf":1.7320508075688772},"163":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"153":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":8,"docs":{"102":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"173":{"tf":1.0},"222":{"tf":1.0},"249":{"tf":1.0},"284":{"tf":1.0},"288":{"tf":1.0}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"288":{"tf":4.898979485566356}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"263":{"tf":1.0}}}}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"175":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"252":{"tf":1.0},"272":{"tf":1.0},"280":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"c":{"df":1,"docs":{"291":{"tf":2.0}}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":2.0},"149":{"tf":2.23606797749979},"150":{"tf":1.4142135623730951},"241":{"tf":1.7320508075688772}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"267":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"150":{"tf":1.0},"174":{"tf":1.0},"228":{"tf":1.0},"237":{"tf":1.0},"252":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"147":{"tf":1.0}}}}},"s":{"c":{"a":{"d":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":49,"docs":{"108":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":2.23606797749979},"113":{"tf":1.7320508075688772},"124":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":2.449489742783178},"154":{"tf":1.4142135623730951},"156":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.0},"196":{"tf":1.0},"205":{"tf":1.0},"207":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":2.0},"221":{"tf":1.0},"224":{"tf":1.4142135623730951},"235":{"tf":1.0},"242":{"tf":1.0},"250":{"tf":1.4142135623730951},"255":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.23606797749979},"36":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.6457513110645907},"68":{"tf":2.6457513110645907},"69":{"tf":3.605551275463989},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"72":{"tf":2.23606797749979},"73":{"tf":4.0},"74":{"tf":3.7416573867739413},"75":{"tf":4.69041575982343},"82":{"tf":1.0}}},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"137":{"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":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"102":{"tf":2.23606797749979},"127":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"177":{"tf":1.0}}}},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"\"":{"]":{"df":0,"docs":{},"}":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"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":{"267":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"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":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"267":{"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":{}},"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":2.0},"208":{"tf":1.0},"75":{"tf":1.0}}}},"df":9,"docs":{"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":2.23606797749979},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"140":{"tf":1.0},"278":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"147":{"tf":1.0},"177":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"115":{"tf":1.0},"224":{"tf":1.0},"230":{"tf":1.0}}}}}}}},"df":20,"docs":{"139":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":3.1622776601683795},"170":{"tf":1.0},"177":{"tf":1.4142135623730951},"232":{"tf":1.0},"256":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"17":{"tf":1.0},"220":{"tf":1.0},"299":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"176":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"225":{"tf":1.4142135623730951},"226":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"271":{"tf":1.7320508075688772},"282":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"173":{"tf":1.0},"206":{"tf":1.0},"234":{"tf":1.0},"246":{"tf":1.0},"65":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"74":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":24,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0},"190":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.4142135623730951},"280":{"tf":1.0},"291":{"tf":2.0},"293":{"tf":2.449489742783178},"298":{"tf":2.449489742783178},"45":{"tf":1.0},"47":{"tf":1.0},"73":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"209":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"199":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}},"df":7,"docs":{"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"199":{"tf":1.4142135623730951},"203":{"tf":1.0},"300":{"tf":2.23606797749979},"45":{"tf":1.7320508075688772},"49":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"=":{"\\":{"\"":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":22,"docs":{"108":{"tf":2.449489742783178},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"112":{"tf":1.0},"117":{"tf":1.0},"15":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"291":{"tf":1.4142135623730951},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"94":{"tf":1.0},"97":{"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":{"180":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"r":{"df":1,"docs":{"242":{"tf":1.0}}}},"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":{"235":{"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":{"128":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"p":{"df":1,"docs":{"279":{"tf":2.0}}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":7,"docs":{"12":{"tf":1.0},"131":{"tf":1.0},"151":{"tf":1.0},"194":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"150":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0}},"n":{"df":4,"docs":{"194":{"tf":1.0},"195":{"tf":1.0},"228":{"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":{"65":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"214":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"v":{"df":2,"docs":{"188":{"tf":1.4142135623730951},"241":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"184":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"133":{"tf":1.0},"185":{"tf":1.0}}}}},"o":{"'":{"df":87,"docs":{"111":{"tf":1.0},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.7320508075688772},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"182":{"tf":1.0},"183":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"190":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"211":{"tf":1.0},"214":{"tf":1.7320508075688772},"215":{"tf":1.0},"22":{"tf":1.0},"222":{"tf":1.4142135623730951},"228":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.7320508075688772},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":2.0},"253":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.7320508075688772},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"98":{"tf":1.0}}},"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"278":{"tf":2.0},"279":{"tf":1.4142135623730951},"280":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":20,"docs":{"18":{"tf":1.0},"189":{"tf":1.7320508075688772},"197":{"tf":1.4142135623730951},"206":{"tf":2.0},"215":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.0},"25":{"tf":1.4142135623730951},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"27":{"tf":1.0},"279":{"tf":1.4142135623730951},"281":{"tf":1.0},"30":{"tf":2.23606797749979},"33":{"tf":1.0},"37":{"tf":1.7320508075688772}}},"y":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"212":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":25,"docs":{"18":{"tf":1.0},"189":{"tf":1.0},"195":{"tf":2.0},"196":{"tf":1.0},"199":{"tf":1.0},"204":{"tf":1.7320508075688772},"206":{"tf":2.0},"215":{"tf":1.4142135623730951},"223":{"tf":1.4142135623730951},"224":{"tf":1.4142135623730951},"225":{"tf":1.4142135623730951},"226":{"tf":1.4142135623730951},"227":{"tf":1.4142135623730951},"228":{"tf":1.7320508075688772},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":2.0},"267":{"tf":2.23606797749979},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"279":{"tf":1.0},"286":{"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":5,"docs":{"192":{"tf":1.0},"198":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":179,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"101":{"tf":2.0},"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"133":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"144":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"15":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.7320508075688772},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"156":{"tf":1.0},"157":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":2.0},"17":{"tf":1.4142135623730951},"171":{"tf":2.0},"172":{"tf":2.0},"173":{"tf":2.0},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":2.449489742783178},"180":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"189":{"tf":1.0},"19":{"tf":1.0},"190":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"199":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"201":{"tf":1.4142135623730951},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.7320508075688772},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"22":{"tf":1.0},"220":{"tf":2.23606797749979},"221":{"tf":2.23606797749979},"222":{"tf":1.0},"228":{"tf":2.0},"230":{"tf":1.4142135623730951},"231":{"tf":2.0},"233":{"tf":1.4142135623730951},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"244":{"tf":1.4142135623730951},"245":{"tf":1.7320508075688772},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"25":{"tf":1.7320508075688772},"252":{"tf":2.0},"254":{"tf":1.7320508075688772},"257":{"tf":2.23606797749979},"259":{"tf":1.4142135623730951},"260":{"tf":2.449489742783178},"262":{"tf":1.4142135623730951},"263":{"tf":2.449489742783178},"264":{"tf":2.449489742783178},"266":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.4142135623730951},"281":{"tf":1.4142135623730951},"284":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.0},"29":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"3":{"tf":1.4142135623730951},"300":{"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.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.7320508075688772},"55":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":2.449489742783178},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.0},"94":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":1,"docs":{"293":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":2,"docs":{"293":{"tf":1.4142135623730951},"298":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"’":{"df":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":24,"docs":{"144":{"tf":1.7320508075688772},"145":{"tf":1.0},"146":{"tf":2.23606797749979},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":2.449489742783178},"172":{"tf":1.0},"2":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.7320508075688772},"274":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"83":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"128":{"tf":1.0},"34":{"tf":1.0},"70":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"156":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"111":{"tf":1.0}}},"r":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"115":{"tf":1.0},"258":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"231":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":1,"docs":{"48":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":2.23606797749979}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":8,"docs":{"163":{"tf":1.0},"173":{"tf":1.0},"197":{"tf":1.0},"235":{"tf":1.0},"241":{"tf":1.0},"267":{"tf":1.0},"55":{"tf":1.0},"68":{"tf":1.0}},"r":{"df":1,"docs":{"230":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"147":{"tf":2.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":2.23606797749979},"196":{"tf":1.0},"241":{"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":{"150":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"150":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"222":{"tf":1.0}}}}}}}},"m":{"d":{"df":4,"docs":{"262":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}},"o":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"222":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":7,"docs":{"112":{"tf":1.0},"131":{"tf":1.0},"222":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"266":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":68,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":2.0},"137":{"tf":1.4142135623730951},"142":{"tf":1.0},"147":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"2":{"tf":1.0},"205":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.7320508075688772},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"232":{"tf":1.4142135623730951},"237":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"246":{"tf":1.0},"247":{"tf":1.4142135623730951},"259":{"tf":1.4142135623730951},"260":{"tf":2.0},"261":{"tf":2.23606797749979},"262":{"tf":1.0},"263":{"tf":2.23606797749979},"264":{"tf":2.8284271247461903},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":2.23606797749979},"273":{"tf":2.23606797749979},"274":{"tf":3.3166247903554},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"286":{"tf":1.0},"36":{"tf":1.0},"50":{"tf":1.7320508075688772},"6":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"93":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"d":{"df":1,"docs":{"160":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"180":{"tf":1.0},"186":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"222":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"80":{"tf":1.0}},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"180":{"tf":2.6457513110645907},"181":{"tf":1.7320508075688772},"188":{"tf":1.0}}},"y":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"180":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"180":{"tf":2.449489742783178},"181":{"tf":2.0},"188":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"165":{"tf":1.0},"267":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"126":{"tf":1.0},"83":{"tf":2.23606797749979}},"l":{"df":1,"docs":{"184":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":2,"docs":{"133":{"tf":1.0},"93":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":46,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"119":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.4142135623730951},"156":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"178":{"tf":1.0},"181":{"tf":1.0},"221":{"tf":1.0},"269":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.23606797749979},"298":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":2.23606797749979},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"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}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"76":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"79":{"tf":1.0}}},"r":{"df":1,"docs":{"247":{"tf":2.23606797749979}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"175":{"tf":1.0},"222":{"tf":1.0},"25":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":20,"docs":{"138":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"50":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"11":{"tf":1.0},"196":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.4142135623730951},"217":{"tf":1.7320508075688772},"218":{"tf":1.7320508075688772},"219":{"tf":1.7320508075688772},"220":{"tf":2.449489742783178},"25":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":54,"docs":{"155":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"215":{"tf":1.0},"22":{"tf":1.4142135623730951},"242":{"tf":1.0},"247":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"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.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.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.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"115":{"tf":1.4142135623730951},"274":{"tf":1.0},"276":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"157":{"tf":1.0},"169":{"tf":1.0},"291":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.7320508075688772},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"214":{"tf":1.0},"267":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":71,"docs":{"101":{"tf":2.449489742783178},"102":{"tf":2.23606797749979},"103":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"124":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0},"13":{"tf":1.4142135623730951},"130":{"tf":2.0},"131":{"tf":1.0},"133":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":2.449489742783178},"189":{"tf":1.0},"190":{"tf":1.0},"196":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"21":{"tf":1.0},"210":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.0},"239":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"243":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":3.0},"273":{"tf":1.4142135623730951},"280":{"tf":1.0},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"81":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"138":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"172":{"tf":1.4142135623730951},"206":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":2.0},"244":{"tf":2.449489742783178},"252":{"tf":1.0},"258":{"tf":1.0},"260":{"tf":1.0},"288":{"tf":3.872983346207417}}},"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":{"186":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}}},"3":{"7":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":1,"docs":{"186":{"tf":1.0}}},"df":1,"docs":{"186":{"tf":1.0}}},"8":{"1":{"df":1,"docs":{"186":{"tf":1.0}}},"2":{"df":1,"docs":{"186":{"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":{"186":{"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":{"(":{"2":{"df":1,"docs":{"186":{"tf":1.0}}},"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":{"df":1,"docs":{"186":{"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":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"186":{"tf":1.0}}}}}}}},"df":1,"docs":{"186":{"tf":3.3166247903554}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":16,"docs":{"107":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"161":{"tf":1.0},"169":{"tf":1.0},"203":{"tf":1.4142135623730951},"209":{"tf":1.0},"221":{"tf":1.0},"242":{"tf":1.0},"259":{"tf":1.4142135623730951},"264":{"tf":1.0},"276":{"tf":1.7320508075688772},"280":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":4,"docs":{"174":{"tf":1.0},"242":{"tf":1.0},"271":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"190":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":2.0}}},"s":{"df":5,"docs":{"130":{"tf":1.0},"190":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"232":{"tf":2.449489742783178},"233":{"tf":1.0},"274":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"133":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":8,"docs":{"184":{"tf":1.7320508075688772},"269":{"tf":2.0},"270":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":2.23606797749979},"78":{"tf":2.449489742783178},"79":{"tf":2.23606797749979},"80":{"tf":2.449489742783178}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"142":{"tf":1.0},"184":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"255":{"tf":1.0},"293":{"tf":2.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"b":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"267":{"tf":1.4142135623730951},"279":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"173":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":47,"docs":{"110":{"tf":1.0},"111":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"207":{"tf":1.0},"214":{"tf":1.0},"278":{"tf":1.0},"280":{"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.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"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},"79":{"tf":1.0},"80":{"tf":1.0}},"u":{"df":7,"docs":{"160":{"tf":1.0},"214":{"tf":1.0},"249":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0},"65":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"189":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"244":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"113":{"tf":1.0},"268":{"tf":1.7320508075688772},"270":{"tf":1.0},"66":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"108":{"tf":3.0},"127":{"tf":2.23606797749979},"129":{"tf":1.0},"139":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.4142135623730951},"160":{"tf":1.0},"170":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"198":{"tf":1.0},"278":{"tf":1.4142135623730951},"279":{"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":{"127":{"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":29,"docs":{"1":{"tf":1.4142135623730951},"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":2.0},"232":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"234":{"tf":1.7320508075688772},"235":{"tf":1.0},"236":{"tf":2.23606797749979},"237":{"tf":2.449489742783178},"238":{"tf":1.4142135623730951},"239":{"tf":2.0},"240":{"tf":1.4142135623730951},"241":{"tf":1.7320508075688772},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"244":{"tf":2.8284271247461903},"245":{"tf":1.7320508075688772},"246":{"tf":1.4142135623730951},"247":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"250":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"252":{"tf":1.4142135623730951},"255":{"tf":1.0},"3":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"109":{"tf":1.0},"155":{"tf":1.4142135623730951},"235":{"tf":2.449489742783178},"237":{"tf":1.0},"50":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"235":{"tf":1.4142135623730951},"50":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"226":{"tf":1.0},"246":{"tf":1.0}}},"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"215":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"212":{"tf":1.0},"213":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"214":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"219":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":2.23606797749979},"212":{"tf":1.7320508075688772},"213":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"257":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":17,"docs":{"12":{"tf":1.7320508075688772},"175":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"22":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":1.4142135623730951},"244":{"tf":1.0},"254":{"tf":1.0},"259":{"tf":1.0},"267":{"tf":1.0},"275":{"tf":1.0},"300":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"184":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"164":{"tf":1.0},"165":{"tf":1.0},"267":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"187":{"tf":1.0},"267":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"209":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"69":{"tf":1.0}},"s":{"df":3,"docs":{"160":{"tf":1.0},"198":{"tf":1.0},"227":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"274":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"49":{"tf":1.0}}}}},"i":{"d":{"df":13,"docs":{"110":{"tf":1.0},"156":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"214":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"182":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"151":{"tf":1.0},"230":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":20,"docs":{"127":{"tf":1.0},"129":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"180":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"258":{"tf":1.0},"45":{"tf":1.0},"92":{"tf":1.0}},"t":{"df":14,"docs":{"119":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"209":{"tf":1.0},"226":{"tf":1.0},"229":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":1.0},"271":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"207":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"148":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.7320508075688772},"239":{"tf":1.0},"240":{"tf":1.0},"264":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.4142135623730951},"80":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"121":{"tf":1.0},"188":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"267":{"tf":1.7320508075688772},"83":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":37,"docs":{"114":{"tf":1.0},"13":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":3.0},"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"197":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":2.0},"206":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"212":{"tf":1.0},"217":{"tf":1.4142135623730951},"224":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.7320508075688772},"256":{"tf":1.0},"265":{"tf":1.0},"284":{"tf":2.23606797749979},"286":{"tf":1.0},"291":{"tf":2.8284271247461903},"293":{"tf":2.449489742783178},"295":{"tf":1.0},"298":{"tf":1.7320508075688772},"36":{"tf":1.0},"39":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0},"91":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"a":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"tf":1.0}}}}},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"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":{"288":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":3,"docs":{"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"271":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":27,"docs":{"125":{"tf":1.0},"128":{"tf":1.4142135623730951},"152":{"tf":1.0},"173":{"tf":1.7320508075688772},"178":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.7320508075688772},"198":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"291":{"tf":3.4641016151377544},"293":{"tf":4.0},"298":{"tf":3.4641016151377544},"299":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"99":{"tf":1.0}},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{":":{"\\":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"=":{"\\":{"\"":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"189":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":18,"docs":{"109":{"tf":1.4142135623730951},"135":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"163":{"tf":1.0},"176":{"tf":1.4142135623730951},"187":{"tf":1.0},"230":{"tf":1.0},"242":{"tf":1.0},"245":{"tf":1.0},"247":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}},"u":{"df":3,"docs":{"127":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":9,"docs":{"14":{"tf":1.0},"152":{"tf":1.0},"244":{"tf":1.4142135623730951},"260":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"32":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"156":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.7320508075688772}}},"(":{"df":1,"docs":{"159":{"tf":1.0}}},"_":{"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":{"193":{"tf":1.0},"195":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":30,"docs":{"127":{"tf":1.0},"156":{"tf":3.3166247903554},"157":{"tf":2.23606797749979},"158":{"tf":2.6457513110645907},"159":{"tf":2.23606797749979},"160":{"tf":1.7320508075688772},"161":{"tf":3.0},"162":{"tf":2.449489742783178},"163":{"tf":2.6457513110645907},"164":{"tf":3.1622776601683795},"165":{"tf":3.3166247903554},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":2.23606797749979},"172":{"tf":1.0},"173":{"tf":2.23606797749979},"174":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.7320508075688772},"177":{"tf":2.449489742783178},"192":{"tf":1.4142135623730951},"267":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"243":{"tf":1.0},"258":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":3,"docs":{"165":{"tf":1.0},"208":{"tf":1.0},"261":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":44,"docs":{"109":{"tf":1.0},"151":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"221":{"tf":1.4142135623730951},"222":{"tf":1.4142135623730951},"237":{"tf":1.0},"239":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"275":{"tf":1.0},"50":{"tf":2.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.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.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},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":21,"docs":{"117":{"tf":1.0},"163":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"203":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"254":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"265":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"49":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"t":{"df":3,"docs":{"194":{"tf":1.4142135623730951},"210":{"tf":1.0},"25":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"122":{"tf":1.0}}},"t":{"df":9,"docs":{"239":{"tf":1.0},"240":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"27":{"tf":1.0},"271":{"tf":1.0},"301":{"tf":1.0}}}},"y":{"df":1,"docs":{"180":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"64":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"231":{"tf":1.0}}}}},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"209":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":30,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"147":{"tf":1.0},"149":{"tf":1.0},"178":{"tf":3.1622776601683795},"179":{"tf":2.8284271247461903},"180":{"tf":3.1622776601683795},"181":{"tf":2.23606797749979},"182":{"tf":2.0},"183":{"tf":3.1622776601683795},"184":{"tf":4.123105625617661},"185":{"tf":2.23606797749979},"186":{"tf":3.1622776601683795},"187":{"tf":2.8284271247461903},"188":{"tf":1.7320508075688772},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.0},"270":{"tf":1.0},"284":{"tf":1.4142135623730951},"29":{"tf":1.0},"293":{"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},"80":{"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":{"179":{"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":{"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":{}}},"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":{"184":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"1":{"df":1,"docs":{"187":{"tf":1.0}}},"df":1,"docs":{"178":{"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":{"80":{"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":{"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"188":{"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":8,"docs":{"210":{"tf":1.0},"222":{"tf":1.0},"231":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"275":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"124":{"tf":1.0},"133":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"189":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"257":{"tf":1.4142135623730951},"260":{"tf":1.0},"69":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"186":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"132":{"tf":1.0},"195":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":1.0},"288":{"tf":1.7320508075688772},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"244":{"tf":1.0},"272":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"244":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"270":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"155":{"tf":1.0},"300":{"tf":1.0},"63":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"134":{"tf":1.0},"198":{"tf":1.7320508075688772},"207":{"tf":1.0},"228":{"tf":1.0},"256":{"tf":1.0},"276":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":24,"docs":{"118":{"tf":1.0},"129":{"tf":1.0},"150":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"261":{"tf":1.4142135623730951},"270":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"282":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"73":{"tf":1.0},"82":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":3,"docs":{"230":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":30,"docs":{"140":{"tf":1.0},"150":{"tf":1.0},"158":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.0},"188":{"tf":1.0},"199":{"tf":1.0},"203":{"tf":1.0},"214":{"tf":1.0},"231":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.0},"277":{"tf":1.0},"288":{"tf":2.8284271247461903},"29":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"296":{"tf":1.0},"301":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"284":{"tf":1.0},"295":{"tf":1.0}}}},"_":{"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":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"36":{"tf":1.0}}}}},"l":{"df":1,"docs":{"256":{"tf":1.0}},"i":{"df":5,"docs":{"199":{"tf":1.0},"49":{"tf":2.23606797749979},"51":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"186":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":52,"docs":{"102":{"tf":1.0},"110":{"tf":1.0},"112":{"tf":1.0},"13":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.4142135623730951},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"258":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.0},"292":{"tf":1.0},"293":{"tf":3.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"39":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"71":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":12,"docs":{"115":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.7320508075688772},"180":{"tf":1.0},"186":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"277":{"tf":1.0}}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"186":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"3":{"df":0,"docs":{},"q":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"y":{"6":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"9":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"231":{"tf":2.0},"232":{"tf":1.0},"236":{"tf":1.0},"3":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"210":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"64":{"tf":2.449489742783178}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"a":{"b":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"209":{"tf":1.0},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":54,"docs":{"111":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"122":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.7320508075688772},"148":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":2.449489742783178},"179":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"182":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"184":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":2.8284271247461903},"188":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"211":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":2.23606797749979},"232":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":2.8284271247461903},"238":{"tf":3.0},"239":{"tf":2.449489742783178},"240":{"tf":2.23606797749979},"241":{"tf":2.23606797749979},"242":{"tf":2.23606797749979},"243":{"tf":1.7320508075688772},"244":{"tf":1.0},"251":{"tf":1.0},"257":{"tf":2.0},"3":{"tf":1.0},"4":{"tf":2.23606797749979},"65":{"tf":2.8284271247461903},"70":{"tf":2.0},"71":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}},"b":{"df":3,"docs":{"209":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.0}}},"df":2,"docs":{"158":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":11,"docs":{"230":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":2.449489742783178},"245":{"tf":1.0},"246":{"tf":2.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.0}}}},"b":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"172":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":2,"docs":{"189":{"tf":1.0},"48":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"133":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"261":{"tf":1.0},"274":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":6,"docs":{"150":{"tf":1.0},"175":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"274":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":72,"docs":{"103":{"tf":2.0},"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"109":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":2.23606797749979},"118":{"tf":1.0},"120":{"tf":2.0},"121":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.4142135623730951},"17":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"188":{"tf":2.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"192":{"tf":1.0},"195":{"tf":1.0},"198":{"tf":1.4142135623730951},"199":{"tf":1.7320508075688772},"203":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":2.0},"213":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":2.0},"224":{"tf":1.0},"228":{"tf":1.0},"232":{"tf":1.0},"236":{"tf":1.0},"248":{"tf":1.0},"25":{"tf":1.4142135623730951},"251":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"270":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":1.0},"286":{"tf":1.0},"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},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.0},"83":{"tf":2.6457513110645907},"87":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"220":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"190":{"tf":1.0},"279":{"tf":1.0},"64":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":10,"docs":{"169":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.7320508075688772},"182":{"tf":1.0},"222":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"86":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"267":{"tf":1.4142135623730951},"275":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":8,"docs":{"181":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.4142135623730951},"211":{"tf":1.7320508075688772},"239":{"tf":2.23606797749979},"240":{"tf":2.0},"64":{"tf":1.0},"86":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"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":{"274":{"tf":1.7320508075688772},"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"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":1,"docs":{"278":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":38,"docs":{"188":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"215":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.4142135623730951},"227":{"tf":1.0},"231":{"tf":1.4142135623730951},"236":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.7320508075688772},"281":{"tf":2.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.7320508075688772},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"3":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.7320508075688772},"69":{"tf":1.0},"84":{"tf":1.0},"99":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"293":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"270":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"175":{"tf":1.4142135623730951},"246":{"tf":1.4142135623730951},"248":{"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":{"248":{"tf":1.4142135623730951}}}},"df":1,"docs":{"248":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":86,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":2.23606797749979},"120":{"tf":1.7320508075688772},"121":{"tf":2.0},"122":{"tf":2.23606797749979},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"147":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"181":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":2.449489742783178},"191":{"tf":1.4142135623730951},"192":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.7320508075688772},"198":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.4142135623730951},"204":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":2.449489742783178},"207":{"tf":2.23606797749979},"208":{"tf":1.7320508075688772},"209":{"tf":1.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"223":{"tf":1.4142135623730951},"23":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.0},"243":{"tf":2.449489742783178},"244":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"253":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.0},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":45,"docs":{"117":{"tf":1.0},"118":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":2.449489742783178},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"163":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":2.0},"195":{"tf":1.0},"200":{"tf":2.0},"201":{"tf":2.6457513110645907},"202":{"tf":1.4142135623730951},"203":{"tf":1.0},"204":{"tf":1.7320508075688772},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"221":{"tf":1.4142135623730951},"234":{"tf":1.0},"239":{"tf":1.0},"249":{"tf":1.4142135623730951},"250":{"tf":1.4142135623730951},"253":{"tf":1.7320508075688772},"254":{"tf":1.4142135623730951},"255":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"299":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"75":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"244":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"288":{"tf":2.6457513110645907},"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"153":{"tf":1.0},"288":{"tf":2.449489742783178}}},"t":{"df":2,"docs":{"11":{"tf":1.0},"142":{"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":10,"docs":{"15":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"215":{"tf":1.0},"221":{"tf":1.0},"26":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":30,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":2.23606797749979},"206":{"tf":1.0},"212":{"tf":1.0},"243":{"tf":1.0},"252":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"259":{"tf":1.0},"260":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.4142135623730951},"280":{"tf":1.4142135623730951},"33":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.7320508075688772}}}}}}}},"p":{"df":21,"docs":{"193":{"tf":1.0},"194":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.7320508075688772},"212":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"246":{"tf":1.0},"248":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.7320508075688772},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":49,"docs":{"11":{"tf":1.0},"160":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":2.449489742783178},"196":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":2.0},"209":{"tf":1.0},"21":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":2.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.4142135623730951},"224":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.4142135623730951},"228":{"tf":2.449489742783178},"229":{"tf":2.8284271247461903},"23":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.0},"256":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"271":{"tf":2.23606797749979},"272":{"tf":1.0},"273":{"tf":1.0},"281":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"42":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":5,"docs":{"189":{"tf":1.0},"218":{"tf":1.7320508075688772},"244":{"tf":1.0},"263":{"tf":1.0},"33":{"tf":1.7320508075688772}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"241":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":2.0}},"e":{"<":{"df":1,"docs":{"284":{"tf":1.0}},"t":{"df":1,"docs":{"284":{"tf":5.0990195135927845}}}},"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"284":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"187":{"tf":1.0},"219":{"tf":1.4142135623730951},"263":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":14,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"176":{"tf":1.0},"185":{"tf":1.0},"209":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":35,"docs":{"107":{"tf":1.0},"150":{"tf":1.7320508075688772},"151":{"tf":1.0},"153":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"2":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"274":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":8,"docs":{"107":{"tf":1.0},"153":{"tf":1.0},"180":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"79":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":17,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"279":{"tf":1.0},"280":{"tf":1.7320508075688772},"291":{"tf":1.0},"86":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"101":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"166":{"tf":1.0},"175":{"tf":1.0},"212":{"tf":1.0},"219":{"tf":1.4142135623730951},"235":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.4142135623730951},"259":{"tf":1.0},"288":{"tf":1.0},"45":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"v":{"df":1,"docs":{"219":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":19,"docs":{"115":{"tf":1.0},"13":{"tf":1.0},"175":{"tf":1.0},"209":{"tf":2.0},"213":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.4142135623730951},"25":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"3":{"tf":1.4142135623730951},"33":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"9":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"277":{"tf":1.0}}}},"df":0,"docs":{}},"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":{"231":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"163":{"tf":1.0},"173":{"tf":1.0},"207":{"tf":1.4142135623730951},"279":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"214":{"tf":1.4142135623730951},"271":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":26,"docs":{"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"175":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.0},"215":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"231":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"268":{"tf":1.0},"273":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"298":{"tf":1.0},"46":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":5,"docs":{"173":{"tf":1.0},"178":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"g":{"df":22,"docs":{"151":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"184":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"188":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.0},"252":{"tf":1.0},"5":{"tf":1.0},"65":{"tf":1.4142135623730951},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":36,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"158":{"tf":1.0},"165":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.23606797749979},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.7320508075688772},"215":{"tf":1.0},"228":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.4142135623730951},"25":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.4142135623730951},"265":{"tf":1.0},"273":{"tf":1.4142135623730951},"279":{"tf":1.0},"281":{"tf":1.0},"291":{"tf":2.449489742783178},"293":{"tf":2.0},"298":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"15":{"tf":1.0},"225":{"tf":1.0},"226":{"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":{"127":{"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":{"184":{"tf":1.0}}}}}}},"<":{"a":{",":{"b":{">":{"(":{"a":{"df":1,"docs":{"184":{"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":2,"docs":{"227":{"tf":1.7320508075688772},"247":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":13,"docs":{"160":{"tf":2.23606797749979},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"167":{"tf":2.23606797749979},"168":{"tf":1.0},"169":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":2.8284271247461903},"267":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"t":{"df":2,"docs":{"168":{"tf":2.0},"171":{"tf":2.0}}}},"df":1,"docs":{"170":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"115":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"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":{"115":{"tf":1.4142135623730951},"124":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"169":{"tf":1.4142135623730951},"190":{"tf":1.0},"228":{"tf":1.0},"260":{"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":{"112":{"tf":1.0},"122":{"tf":1.0},"183":{"tf":1.0}}}}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"169":{"tf":1.0},"228":{"tf":1.0},"280":{"tf":1.0}}},"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":{"234":{"tf":1.0}}}}}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"232":{"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":{"232":{"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":{"232":{"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":{"232":{"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":{"246":{"tf":1.0},"248":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"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":3,"docs":{"173":{"tf":1.0},"222":{"tf":1.0},"263":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"262":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":20,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.4142135623730951},"301":{"tf":1.0},"36":{"tf":1.0}}}}}}}},"df":5,"docs":{"153":{"tf":1.0},"205":{"tf":1.0},"227":{"tf":1.0},"254":{"tf":1.0},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":20,"docs":{"102":{"tf":1.0},"111":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"229":{"tf":1.0},"238":{"tf":1.0},"255":{"tf":1.0},"258":{"tf":1.0},"266":{"tf":1.0},"83":{"tf":1.0},"99":{"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":{"232":{"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":{"232":{"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":{"232":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"267":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"266":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.4142135623730951}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"267":{"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":8,"docs":{"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":2.23606797749979}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"153":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"277":{"tf":1.0},"45":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":36,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"148":{"tf":1.0},"166":{"tf":1.0},"204":{"tf":1.4142135623730951},"207":{"tf":1.0},"214":{"tf":1.0},"223":{"tf":1.0},"227":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.0},"255":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.4142135623730951},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":17,"docs":{"11":{"tf":1.0},"156":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"193":{"tf":1.0},"2":{"tf":1.4142135623730951},"207":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.4142135623730951},"244":{"tf":1.0},"249":{"tf":1.0},"256":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.4142135623730951},"7":{"tf":1.0},"78":{"tf":1.0}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"240":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"188":{"tf":1.0},"209":{"tf":1.0},"243":{"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":{"234":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"105":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":12,"docs":{"109":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"122":{"tf":1.0},"124":{"tf":1.7320508075688772},"262":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":2.23606797749979},"294":{"tf":4.0},"296":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"81":{"tf":1.0}},"e":{"d":{"(":{"1":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"296":{"tf":1.0}}}}}}}}}}}}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":10,"docs":{"237":{"tf":1.0},"25":{"tf":1.0},"256":{"tf":1.0},"263":{"tf":1.4142135623730951},"267":{"tf":1.0},"273":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":2,"docs":{"215":{"tf":1.0},"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":13,"docs":{"17":{"tf":1.0},"194":{"tf":1.4142135623730951},"198":{"tf":1.0},"201":{"tf":2.0},"203":{"tf":1.0},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"240":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"278":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"269":{"tf":1.0},"34":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"152":{"tf":1.0},"164":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":9,"docs":{"154":{"tf":1.7320508075688772},"230":{"tf":1.0},"244":{"tf":1.0},"256":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"291":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"112":{"tf":1.0},"244":{"tf":1.0},"288":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"299":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":12,"docs":{"247":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"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":{"184":{"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":{"184":{"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":3,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"288":{"tf":2.449489742783178}}}}},"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":{"184":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"160":{"tf":1.0},"214":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"276":{"tf":1.0},"33":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":18,"docs":{"131":{"tf":1.0},"137":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":2.0},"168":{"tf":1.0},"169":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":2.6457513110645907},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"50":{"tf":1.0},"80":{"tf":1.0}},"i":{"c":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"7":{"_":{"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":{"172":{"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":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":13,"docs":{"130":{"tf":1.0},"151":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.0},"238":{"tf":1.0},"253":{"tf":1.0},"256":{"tf":1.0},"264":{"tf":1.4142135623730951},"271":{"tf":1.0},"36":{"tf":1.0},"83":{"tf":1.0}}}},"1":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},">":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"164":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":42,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.4142135623730951},"15":{"tf":1.0},"156":{"tf":1.4142135623730951},"160":{"tf":1.7320508075688772},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"187":{"tf":1.0},"189":{"tf":1.0},"216":{"tf":1.0},"223":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"234":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.0},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.7320508075688772},"298":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"213":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"153":{"tf":1.0},"282":{"tf":1.0},"53":{"tf":1.7320508075688772},"61":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":9,"docs":{"101":{"tf":1.0},"174":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"203":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"217":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"221":{"tf":1.0},"231":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"33":{"tf":1.0},"55":{"tf":1.0},"63":{"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":4,"docs":{"107":{"tf":1.0},"243":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0}}}}}}}}}},"df":10,"docs":{"155":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"165":{"tf":2.8284271247461903},"168":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":16,"docs":{"139":{"tf":1.0},"142":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"182":{"tf":1.0},"213":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.4142135623730951},"247":{"tf":1.0},"256":{"tf":1.0},"271":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.7320508075688772},"65":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":4,"docs":{"101":{"tf":1.0},"183":{"tf":1.0},"252":{"tf":1.0},"257":{"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":{"184":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"252":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":11,"docs":{"161":{"tf":1.7320508075688772},"162":{"tf":1.4142135623730951},"164":{"tf":2.23606797749979},"165":{"tf":2.6457513110645907},"168":{"tf":1.0},"184":{"tf":1.0},"284":{"tf":2.0},"291":{"tf":2.8284271247461903},"298":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"155":{"tf":2.0},"164":{"tf":1.0},"173":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.4142135623730951},"291":{"tf":5.916079783099616},"298":{"tf":4.358898943540674},"55":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.4142135623730951},"80":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"95":{"tf":2.6457513110645907}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"165":{"tf":1.0},"183":{"tf":1.0},"263":{"tf":1.4142135623730951},"64":{"tf":1.0},"8":{"tf":1.0}}}}}}},"m":{"b":{"df":1,"docs":{"261":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"220":{"tf":1.0},"81":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"242":{"tf":1.0}},"e":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":11,"docs":{"130":{"tf":1.0},"136":{"tf":1.4142135623730951},"204":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"291":{"tf":2.0},"293":{"tf":1.0},"298":{"tf":1.0},"60":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.7320508075688772}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":21,"docs":{"122":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"183":{"tf":1.0},"21":{"tf":1.4142135623730951},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"241":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.4142135623730951},"271":{"tf":1.0},"288":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"9":{"tf":1.0},"93":{"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":{"140":{"tf":1.0},"190":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"d":{"df":20,"docs":{"116":{"tf":1.0},"134":{"tf":1.0},"157":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"172":{"tf":1.0},"181":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"231":{"tf":1.0},"237":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951},"280":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"113":{"tf":1.0},"250":{"tf":1.0},"265":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":23,"docs":{"110":{"tf":1.7320508075688772},"147":{"tf":1.0},"172":{"tf":1.0},"186":{"tf":1.0},"199":{"tf":1.0},"209":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"235":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"265":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"301":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"254":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"221":{"tf":1.7320508075688772},"253":{"tf":1.4142135623730951},"254":{"tf":1.4142135623730951},"255":{"tf":3.1622776601683795},"256":{"tf":1.0},"261":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"255":{"tf":1.0}},"s":{":":{":":{"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":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}},"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":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"194":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"222":{"tf":1.7320508075688772},"238":{"tf":1.0},"244":{"tf":1.0},"271":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"274":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"280":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"131":{"tf":1.0},"173":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":41,"docs":{"119":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"255":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.4142135623730951},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0}},"e":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"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":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"155":{"tf":1.0},"156":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":23,"docs":{"108":{"tf":1.0},"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"169":{"tf":1.0},"179":{"tf":1.0},"187":{"tf":1.0},"196":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.0},"220":{"tf":1.0},"225":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.4142135623730951},"243":{"tf":1.0},"244":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"31":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"242":{"tf":1.0},"293":{"tf":3.1622776601683795},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"98":{"tf":2.23606797749979}}},"y":{"'":{"df":1,"docs":{"293":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"98":{"tf":1.0}}},"1":{"df":1,"docs":{"98":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"113":{"tf":2.0}}}},"v":{"df":2,"docs":{"215":{"tf":1.7320508075688772},"219":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"215":{"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":{"233":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"112":{"tf":1.0},"140":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.4142135623730951},"83":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"117":{"tf":2.0},"118":{"tf":1.0},"119":{"tf":1.0},"220":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951}}}},"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":5,"docs":{"175":{"tf":1.0},"208":{"tf":1.0},"257":{"tf":1.0},"271":{"tf":1.0},"80":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"175":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"249":{"tf":1.0}},"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":{"162":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"299":{"tf":1.0}}}}},"t":{"df":3,"docs":{"152":{"tf":1.0},"201":{"tf":1.0},"299":{"tf":1.0}}}},"df":49,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"122":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":2.0},"130":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"151":{"tf":2.8284271247461903},"152":{"tf":2.0},"153":{"tf":3.4641016151377544},"154":{"tf":2.449489742783178},"159":{"tf":2.23606797749979},"161":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"189":{"tf":1.0},"206":{"tf":2.23606797749979},"207":{"tf":1.4142135623730951},"239":{"tf":1.7320508075688772},"240":{"tf":1.7320508075688772},"244":{"tf":1.7320508075688772},"246":{"tf":1.4142135623730951},"248":{"tf":2.0},"249":{"tf":2.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"69":{"tf":2.0},"73":{"tf":2.0},"74":{"tf":1.7320508075688772},"75":{"tf":2.0},"81":{"tf":2.0},"92":{"tf":1.4142135623730951}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"262":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"187":{"tf":1.0},"93":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"148":{"tf":1.0},"171":{"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":{"183":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":3,"docs":{"198":{"tf":1.0},"260":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":36,"docs":{"112":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"160":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"252":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.4142135623730951},"277":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":4,"docs":{"244":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"75":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"199":{"tf":1.0},"229":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"209":{"tf":1.0},"90":{"tf":1.0}}}}}},"x":{"1":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.0},"262":{"tf":1.4142135623730951}}}}}}},"_":{"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":6,"docs":{"203":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.4142135623730951},"221":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"189":{"tf":1.0},"262":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}}}}},"df":9,"docs":{"206":{"tf":3.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.4142135623730951},"219":{"tf":1.0},"221":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0}}},"4":{".":{"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":{"204":{"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":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"df":1,"docs":{"197":{"tf":1.0}}},"2":{"df":1,"docs":{"197":{"tf":1.0}}},"5":{"df":1,"docs":{"197":{"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":{"197":{"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":{"197":{"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":{"197":{"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":{"197":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"183":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"228":{"tf":1.0},"266":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":16,"docs":{"129":{"tf":1.0},"132":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"198":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":110,"docs":{"101":{"tf":1.4142135623730951},"110":{"tf":2.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.7320508075688772},"120":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"138":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":2.0},"16":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"17":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"197":{"tf":2.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"208":{"tf":1.7320508075688772},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.4142135623730951},"214":{"tf":1.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.4142135623730951},"220":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"247":{"tf":1.0},"254":{"tf":1.4142135623730951},"257":{"tf":1.0},"261":{"tf":1.4142135623730951},"263":{"tf":2.0},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":2.23606797749979},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"279":{"tf":1.0},"29":{"tf":1.0},"293":{"tf":1.4142135623730951},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}},"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":7,"docs":{"192":{"tf":1.0},"195":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.7320508075688772},"229":{"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":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":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}}},"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":{"91":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"151":{"tf":1.4142135623730951},"234":{"tf":1.0},"300":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"264":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"204":{"tf":1.0},"237":{"tf":1.0},"291":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"296":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":1,"docs":{"197":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":27,"docs":{"189":{"tf":1.0},"197":{"tf":1.7320508075688772},"211":{"tf":1.0},"213":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.4142135623730951},"22":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.4142135623730951},"235":{"tf":2.23606797749979},"239":{"tf":2.0},"244":{"tf":2.0},"25":{"tf":2.449489742783178},"259":{"tf":1.0},"260":{"tf":1.7320508075688772},"263":{"tf":2.449489742783178},"27":{"tf":1.0},"288":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"239":{"tf":1.0},"244":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"69":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"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":{"74":{"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":{"75":{"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":12,"docs":{"122":{"tf":1.0},"156":{"tf":1.4142135623730951},"194":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"242":{"tf":1.0},"293":{"tf":1.0},"30":{"tf":1.0},"69":{"tf":1.4142135623730951},"83":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.0}}}},"t":{"df":3,"docs":{"53":{"tf":1.7320508075688772},"61":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"262":{"tf":2.23606797749979},"263":{"tf":1.0}}}}}}}},"df":4,"docs":{"194":{"tf":1.0},"219":{"tf":1.0},"262":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"119":{"tf":1.0},"281":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":42,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"132":{"tf":1.0},"164":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"220":{"tf":1.0},"235":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"254":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0}},"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":{"175":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"184":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"3":{"tf":1.0}}},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"242":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"199":{"tf":1.0}}}},"n":{"df":3,"docs":{"126":{"tf":1.0},"264":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":23,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.7320508075688772},"133":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.0},"189":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.4142135623730951},"281":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"78":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":47,"docs":{"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"192":{"tf":1.0},"196":{"tf":1.0},"198":{"tf":1.4142135623730951},"201":{"tf":1.0},"204":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.4142135623730951},"215":{"tf":1.0},"217":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"226":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"243":{"tf":1.0},"245":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"252":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.7320508075688772},"279":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"80":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":23,"docs":{"152":{"tf":1.0},"189":{"tf":1.0},"192":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":2.23606797749979},"200":{"tf":1.0},"201":{"tf":2.23606797749979},"202":{"tf":2.449489742783178},"203":{"tf":2.0},"204":{"tf":1.7320508075688772},"209":{"tf":1.0},"210":{"tf":1.7320508075688772},"214":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.7320508075688772},"229":{"tf":2.0},"243":{"tf":1.4142135623730951},"266":{"tf":2.0},"267":{"tf":2.6457513110645907},"269":{"tf":1.4142135623730951},"270":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"s":{"df":13,"docs":{"183":{"tf":1.0},"189":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"242":{"tf":1.0},"284":{"tf":1.0},"286":{"tf":1.0},"300":{"tf":1.0}}}},"r":{"df":1,"docs":{"102":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":22,"docs":{"102":{"tf":1.0},"114":{"tf":1.0},"119":{"tf":1.0},"135":{"tf":1.7320508075688772},"139":{"tf":1.7320508075688772},"142":{"tf":1.0},"145":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"240":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.4142135623730951},"274":{"tf":1.0},"48":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"220":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"24":{"tf":1.0},"270":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"189":{"tf":1.0},"21":{"tf":1.0},"243":{"tf":1.0},"271":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"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":{"229":{"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":4,"docs":{"198":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":2.0},"80":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":17,"docs":{"178":{"tf":1.0},"198":{"tf":1.0},"210":{"tf":1.0},"222":{"tf":1.0},"226":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"277":{"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":{"50":{"tf":1.0}}}},"f":{"(":{"0":{"df":1,"docs":{"149":{"tf":1.0}}},"1":{"df":1,"docs":{"149":{"tf":1.0}}},"5":{"df":1,"docs":{"149":{"tf":1.4142135623730951}}},"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"197":{"tf":1.0}}},"2":{"df":1,"docs":{"197":{"tf":1.4142135623730951}}},"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"t":{"df":16,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"231":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"155":{"tf":1.0},"199":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":2.0},"272":{"tf":1.0},"273":{"tf":2.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"151":{"tf":1.0},"244":{"tf":1.4142135623730951},"254":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.0},"288":{"tf":2.0},"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"151":{"tf":1.0},"244":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"208":{"tf":1.0},"213":{"tf":1.0},"258":{"tf":1.0},"276":{"tf":1.0},"75":{"tf":1.4142135623730951}}}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"244":{"tf":1.0},"252":{"tf":1.0},"277":{"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":{"66":{"tf":1.0}}}}}}}}}},"s":{"df":15,"docs":{"132":{"tf":1.4142135623730951},"180":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"291":{"tf":3.0},"293":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"169":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"167":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}},"df":8,"docs":{"131":{"tf":1.0},"161":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"224":{"tf":1.0},"237":{"tf":1.0},"275":{"tf":1.4142135623730951},"93":{"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":{"147":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":4,"docs":{"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772}}}}}}}}}}}}}}},"df":7,"docs":{"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"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":21,"docs":{"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.7320508075688772},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"244":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":25,"docs":{"114":{"tf":1.0},"138":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"222":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"243":{"tf":1.4142135623730951},"249":{"tf":1.0},"252":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"273":{"tf":1.0},"275":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":7,"docs":{"131":{"tf":1.4142135623730951},"168":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"280":{"tf":1.0}}},"t":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"264":{"tf":1.0}}}},"w":{"df":9,"docs":{"140":{"tf":1.0},"183":{"tf":1.0},"232":{"tf":1.4142135623730951},"237":{"tf":1.0},"268":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0}}}},"i":{"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"272":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"a":{"df":1,"docs":{"203":{"tf":1.0}}},"b":{"df":1,"docs":{"203":{"tf":1.0}}},"df":8,"docs":{"104":{"tf":1.0},"105":{"tf":1.7320508075688772},"118":{"tf":1.0},"187":{"tf":1.0},"201":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"df":0,"docs":{}}},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"288":{"tf":1.0}}}},"g":{"df":188,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"158":{"tf":1.7320508075688772},"159":{"tf":1.0},"16":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":1.7320508075688772},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":2.23606797749979},"173":{"tf":1.4142135623730951},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.4142135623730951},"195":{"tf":1.0},"197":{"tf":1.4142135623730951},"199":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":2.6457513110645907},"207":{"tf":2.23606797749979},"209":{"tf":1.7320508075688772},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"215":{"tf":1.7320508075688772},"219":{"tf":1.7320508075688772},"221":{"tf":1.7320508075688772},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":2.6457513110645907},"229":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.4142135623730951},"248":{"tf":1.7320508075688772},"249":{"tf":1.0},"251":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.7320508075688772},"26":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.4142135623730951},"263":{"tf":1.7320508075688772},"266":{"tf":1.4142135623730951},"267":{"tf":2.23606797749979},"269":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"272":{"tf":2.0},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"278":{"tf":1.0},"279":{"tf":2.23606797749979},"281":{"tf":1.4142135623730951},"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},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"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.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"261":{"tf":1.0}}},"(":{"df":2,"docs":{"199":{"tf":1.0},"263":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"286":{"tf":1.0}}}}}},"df":60,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":3.872983346207417},"19":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.7320508075688772},"195":{"tf":1.0},"196":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"212":{"tf":2.23606797749979},"213":{"tf":1.7320508075688772},"214":{"tf":1.4142135623730951},"223":{"tf":1.4142135623730951},"228":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.4142135623730951},"243":{"tf":1.0},"25":{"tf":2.0},"257":{"tf":1.0},"259":{"tf":1.0},"26":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":2.0},"262":{"tf":2.0},"263":{"tf":2.23606797749979},"264":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":1.0},"27":{"tf":1.7320508075688772},"270":{"tf":2.449489742783178},"271":{"tf":1.4142135623730951},"273":{"tf":2.0},"279":{"tf":1.4142135623730951},"286":{"tf":2.0},"29":{"tf":1.4142135623730951},"299":{"tf":1.0},"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},"91":{"tf":1.0},"99":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"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":5,"docs":{"189":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0},"27":{"tf":1.4142135623730951}},"i":{"c":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"286":{"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":{}}},"l":{"df":2,"docs":{"270":{"tf":1.0},"271":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"248":{"tf":1.4142135623730951}}}},"<":{"a":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"156":{"tf":1.0},"289":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"156":{"tf":1.0},"248":{"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":{"247":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"155":{"tf":2.0},"247":{"tf":1.7320508075688772},"248":{"tf":1.0},"251":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":17,"docs":{"148":{"tf":1.0},"170":{"tf":1.7320508075688772},"189":{"tf":1.0},"206":{"tf":1.0},"214":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"d":{"df":31,"docs":{"101":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"227":{"tf":1.0},"25":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"81":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"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":{"83":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"83":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"172":{"tf":1.0},"222":{"tf":1.0},"279":{"tf":1.0},"85":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"130":{"tf":1.0},"184":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"130":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"173":{"tf":1.0}}},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":55,"docs":{"11":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"144":{"tf":1.7320508075688772},"145":{"tf":1.0},"146":{"tf":2.23606797749979},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"172":{"tf":1.4142135623730951},"184":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.4142135623730951},"214":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.4142135623730951},"230":{"tf":1.0},"231":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.7320508075688772},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"256":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":2.0},"288":{"tf":1.7320508075688772},"29":{"tf":1.0},"291":{"tf":2.6457513110645907},"298":{"tf":3.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},"64":{"tf":1.0},"66":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.7320508075688772}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"x":{"df":17,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"124":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":1.0},"244":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.4142135623730951}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":12,"docs":{"189":{"tf":1.0},"20":{"tf":1.0},"215":{"tf":3.872983346207417},"216":{"tf":2.0},"217":{"tf":2.0},"218":{"tf":2.0},"219":{"tf":3.1622776601683795},"22":{"tf":1.0},"220":{"tf":3.1622776601683795},"229":{"tf":1.0},"271":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"221":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"163":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"275":{"tf":1.4142135623730951},"279":{"tf":1.4142135623730951},"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":7,"docs":{"109":{"tf":1.0},"122":{"tf":1.0},"203":{"tf":1.0},"287":{"tf":2.23606797749979},"294":{"tf":4.0},"296":{"tf":1.0},"45":{"tf":2.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"w":{"df":34,"docs":{"109":{"tf":1.4142135623730951},"151":{"tf":1.0},"239":{"tf":1.0},"50":{"tf":2.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.4142135623730951},"65":{"tf":2.6457513110645907},"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},"79":{"tf":1.0},"80":{"tf":1.0}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"n":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"155":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"114":{"tf":1.0},"150":{"tf":1.4142135623730951},"155":{"tf":1.0},"289":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":64,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.4142135623730951},"194":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.4142135623730951},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"217":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"233":{"tf":1.0},"236":{"tf":1.0},"243":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"252":{"tf":1.0},"254":{"tf":1.0},"257":{"tf":1.4142135623730951},"263":{"tf":1.0},"264":{"tf":1.0},"266":{"tf":1.0},"273":{"tf":1.0},"277":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.7320508075688772},"77":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"o":{"(":{"%":{"df":1,"docs":{"170":{"tf":1.4142135623730951}}},"1":{"2":{"3":{"4":{"df":4,"docs":{"168":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0}}},"5":{"6":{"6":{"7":{"8":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"8":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}},"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":{"df":1,"docs":{"181":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"181":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"156":{"tf":1.0}}},"a":{"df":1,"docs":{"232":{"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":{"139":{"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":{"75":{"tf":4.795831523312719}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":1.0},"188":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"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":{"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"75":{"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":{"193":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"{":{"a":{"df":1,"docs":{"75":{"tf":3.872983346207417}}},"df":0,"docs":{}}},".":{"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":{"286":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"286":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"tf":1.4142135623730951}}}}}},"a":{">":{"(":{"a":{"df":1,"docs":{"139":{"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":{"75":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"181":{"tf":1.0},"188":{"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":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"181":{"tf":2.23606797749979},"188":{"tf":1.7320508075688772},"75":{"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":{"181":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"a":{"df":1,"docs":{"232":{"tf":2.23606797749979}}},"b":{"df":1,"docs":{"232":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"232":{"tf":2.449489742783178}}},"df":19,"docs":{"120":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"188":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":2.8284271247461903},"197":{"tf":1.4142135623730951},"232":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"245":{"tf":1.0},"286":{"tf":1.0},"36":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"93":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"245":{"tf":1.0}}}},"df":1,"docs":{"234":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"232":{"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":{"60":{"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":4,"docs":{"103":{"tf":1.0},"214":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0}}}}},"df":2,"docs":{"242":{"tf":1.0},"248":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":7,"docs":{"140":{"tf":1.0},"173":{"tf":1.0},"201":{"tf":1.0},"245":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"243":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}},"t":{"df":8,"docs":{"142":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"257":{"tf":2.23606797749979},"258":{"tf":1.4142135623730951},"261":{"tf":1.0},"48":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951}}}},"df":15,"docs":{"114":{"tf":1.0},"158":{"tf":1.0},"193":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"182":{"tf":1.0},"188":{"tf":1.0},"207":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"265":{"tf":1.0},"45":{"tf":1.0},"7":{"tf":1.0}}}},"df":22,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"154":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.6457513110645907},"172":{"tf":1.0},"183":{"tf":1.0},"220":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":1.0},"270":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":2,"docs":{"264":{"tf":1.0},"289":{"tf":1.7320508075688772}}},"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":8,"docs":{"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"236":{"tf":1.0},"252":{"tf":1.4142135623730951},"271":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"244":{"tf":1.0}}},"df":25,"docs":{"148":{"tf":1.0},"168":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"236":{"tf":1.4142135623730951},"237":{"tf":1.7320508075688772},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":2.449489742783178},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"263":{"tf":1.0},"280":{"tf":1.0},"3":{"tf":1.4142135623730951},"39":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"201":{"tf":1.0},"207":{"tf":1.0},"223":{"tf":1.0},"238":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"140":{"tf":1.0}},"s":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"221":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"(":{"c":{"df":2,"docs":{"199":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"188":{"tf":1.0},"209":{"tf":1.0},"243":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"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":1,"docs":{"271":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":17,"docs":{"109":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"144":{"tf":1.0},"173":{"tf":2.0},"206":{"tf":1.0},"207":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"258":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"270":{"tf":1.0},"280":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":16,"docs":{"115":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"195":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"155":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.0}}}}},"t":{"df":1,"docs":{"159":{"tf":1.0}}}},"a":{"df":2,"docs":{"156":{"tf":1.0},"289":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"145":{"tf":1.0},"246":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951}}}}},"k":{"df":1,"docs":{"293":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"t":{"df":5,"docs":{"247":{"tf":1.4142135623730951},"248":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"298":{"tf":1.0}}},"|":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"177":{"tf":1.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951}}}}}},"b":{"df":2,"docs":{"155":{"tf":1.0},"289":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0}}}}},"k":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}},"t":{"df":1,"docs":{"291":{"tf":1.0}}},"v":{"df":1,"docs":{"293":{"tf":1.0}}}}},"df":97,"docs":{"110":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"134":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"140":{"tf":2.449489742783178},"141":{"tf":2.0},"144":{"tf":1.0},"146":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":2.0},"153":{"tf":1.4142135623730951},"155":{"tf":2.0},"156":{"tf":3.605551275463989},"157":{"tf":1.0},"158":{"tf":1.7320508075688772},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":2.8284271247461903},"165":{"tf":3.1622776601683795},"168":{"tf":2.0},"171":{"tf":2.0},"172":{"tf":1.4142135623730951},"173":{"tf":3.1622776601683795},"175":{"tf":2.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"189":{"tf":1.0},"190":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":1.7320508075688772},"194":{"tf":1.0},"199":{"tf":1.4142135623730951},"202":{"tf":2.23606797749979},"206":{"tf":1.4142135623730951},"207":{"tf":2.449489742783178},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"235":{"tf":2.0},"239":{"tf":1.4142135623730951},"24":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.7320508075688772},"247":{"tf":4.123105625617661},"248":{"tf":3.4641016151377544},"25":{"tf":1.0},"251":{"tf":2.0},"254":{"tf":1.7320508075688772},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"270":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":2.449489742783178},"274":{"tf":2.0},"275":{"tf":1.0},"279":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":4.69041575982343},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"288":{"tf":4.123105625617661},"289":{"tf":1.7320508075688772},"290":{"tf":1.0},"291":{"tf":5.656854249492381},"292":{"tf":1.0},"293":{"tf":6.082762530298219},"294":{"tf":4.358898943540674},"295":{"tf":2.449489742783178},"296":{"tf":2.449489742783178},"297":{"tf":4.242640687119285},"298":{"tf":5.5677643628300215},"300":{"tf":6.0},"301":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"169":{"tf":1.0},"23":{"tf":1.0},"239":{"tf":1.4142135623730951},"255":{"tf":1.0},"264":{"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":6,"docs":{"176":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":2.0},"280":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":27,"docs":{"115":{"tf":1.0},"133":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"194":{"tf":1.0},"201":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"226":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":2.0},"234":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"252":{"tf":1.0},"267":{"tf":1.0},"288":{"tf":6.4031242374328485},"48":{"tf":1.0},"59":{"tf":1.0},"93":{"tf":1.0}},"e":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"248":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"235":{"tf":1.0}}}}},"t":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"b":{"a":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"246":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"232":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"234":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"232":{"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":{"235":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"239":{"tf":1.4142135623730951},"240":{"tf":1.0}}}}}},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"229":{"tf":1.0}}}}},"t":{"df":1,"docs":{"288":{"tf":4.0}}},"v":{"df":1,"docs":{"288":{"tf":2.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":2,"docs":{"231":{"tf":1.0},"233":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"`":{"df":1,"docs":{"288":{"tf":1.7320508075688772}}},"df":0,"docs":{},"s":{":":{":":{"d":{"df":0,"docs":{},"i":{"d":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"235":{"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":{"235":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"235":{"tf":1.0}}},"x":{"df":1,"docs":{"248":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.0}},"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":{},"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":1,"docs":{"288":{"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":{}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"160":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"228":{"tf":1.0},"260":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"173":{"tf":1.7320508075688772},"208":{"tf":1.0}}},"b":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"d":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"df":0,"docs":{},"r":{"]":{"[":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{".":{"c":{"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":{}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"173":{"tf":1.7320508075688772},"221":{"tf":2.23606797749979}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"208":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"173":{"tf":1.0}},"r":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":2.6457513110645907}}}}}}}},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"272":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"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":{"186":{"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":{"186":{"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":{"186":{"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":94,"docs":{"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.7320508075688772},"127":{"tf":2.0},"131":{"tf":1.0},"134":{"tf":1.0},"138":{"tf":2.23606797749979},"139":{"tf":2.0},"140":{"tf":1.4142135623730951},"15":{"tf":1.0},"155":{"tf":2.6457513110645907},"156":{"tf":3.605551275463989},"157":{"tf":1.4142135623730951},"158":{"tf":1.7320508075688772},"159":{"tf":2.23606797749979},"160":{"tf":2.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":2.449489742783178},"177":{"tf":2.23606797749979},"181":{"tf":1.0},"183":{"tf":1.0},"186":{"tf":1.7320508075688772},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"204":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":2.0},"248":{"tf":3.1622776601683795},"249":{"tf":2.23606797749979},"25":{"tf":1.0},"250":{"tf":2.23606797749979},"251":{"tf":2.0},"254":{"tf":2.6457513110645907},"257":{"tf":2.0},"259":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":2.23606797749979},"266":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.4142135623730951},"278":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.4142135623730951},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.23606797749979},"36":{"tf":1.0},"45":{"tf":1.4142135623730951},"82":{"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":{"176":{"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":{"177":{"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":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"253":{"tf":1.4142135623730951},"254":{"tf":1.7320508075688772},"255":{"tf":1.7320508075688772},"256":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":4,"docs":{"262":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"269":{"tf":1.0},"279":{"tf":1.0}}}}}},"t":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"175":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"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":1,"docs":{"228":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"273":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"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":{"150":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"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":{"235":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":45,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"22":{"tf":1.0},"225":{"tf":1.0},"227":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"263":{"tf":1.0},"27":{"tf":1.0},"271":{"tf":1.0},"278":{"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":{"188":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"188":{"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":{"235":{"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":{"235":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"228":{"tf":1.0},"229":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"229":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"273":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"273":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"273":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"240":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"206":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"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":{"235":{"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":2,"docs":{"293":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"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":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"203":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"152":{"tf":2.0}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"[":{"1":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"153":{"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":{"235":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"208":{"tf":1.0},"288":{"tf":1.0}}}},"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":{"231":{"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":{"231":{"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":{"235":{"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":{"235":{"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":{"235":{"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":{"231":{"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":{"233":{"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":{"231":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"233":{"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":{"184":{"tf":3.0}}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"221":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":20,"docs":{"222":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":13,"docs":{"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"194":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"277":{"tf":1.0},"49":{"tf":1.0},"64":{"tf":1.0}},"n":{"df":26,"docs":{"124":{"tf":1.0},"131":{"tf":1.0},"155":{"tf":1.0},"165":{"tf":1.7320508075688772},"175":{"tf":1.0},"199":{"tf":1.4142135623730951},"210":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":2.8284271247461903},"291":{"tf":1.4142135623730951},"293":{"tf":2.6457513110645907},"298":{"tf":1.4142135623730951},"36":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"220":{"tf":1.4142135623730951},"227":{"tf":1.0},"238":{"tf":1.0},"288":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"147":{"tf":1.4142135623730951},"187":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"93":{"tf":1.0}}}},"df":16,"docs":{"15":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"277":{"tf":1.4142135623730951},"28":{"tf":1.0},"280":{"tf":1.0}},"e":{"df":3,"docs":{"173":{"tf":1.0},"187":{"tf":1.0},"275":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{}},"o":{"d":{"b":{"df":0,"docs":{},"y":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":9,"docs":{"166":{"tf":1.4142135623730951},"206":{"tf":1.0},"208":{"tf":1.0},"245":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":3,"docs":{"231":{"tf":1.0},"236":{"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":{"244":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"222":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"70":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"h":{"df":19,"docs":{"148":{"tf":1.0},"211":{"tf":1.0},"231":{"tf":3.0},"232":{"tf":3.7416573867739413},"233":{"tf":3.4641016151377544},"234":{"tf":2.449489742783178},"235":{"tf":2.0},"238":{"tf":1.4142135623730951},"239":{"tf":3.872983346207417},"240":{"tf":2.8284271247461903},"241":{"tf":1.0},"244":{"tf":3.7416573867739413},"246":{"tf":2.8284271247461903},"248":{"tf":2.6457513110645907},"254":{"tf":1.4142135623730951},"255":{"tf":2.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"288":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"234":{"tf":2.0}}}}}}},"r":{"df":2,"docs":{"233":{"tf":1.4142135623730951},"234":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"232":{"tf":1.0},"259":{"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":{"111":{"tf":2.23606797749979},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"51":{"tf":1.0},"74":{"tf":3.3166247903554}}},"t":{"df":6,"docs":{"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.0},"34":{"tf":1.0},"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"253":{"tf":1.0},"254":{"tf":2.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":3,"docs":{"254":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"255":{"tf":1.0},"256":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"0":{"df":1,"docs":{"254":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"253":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"299":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"264":{"tf":1.0}}}}}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"209":{"tf":1.0}}}},"w":{"df":1,"docs":{"199":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"279":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"231":{"tf":2.0},"232":{"tf":3.7416573867739413},"235":{"tf":2.23606797749979},"239":{"tf":1.4142135623730951},"240":{"tf":2.0}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":34,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"173":{"tf":1.0},"187":{"tf":1.4142135623730951},"198":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.0},"213":{"tf":1.0},"228":{"tf":1.0},"236":{"tf":1.4142135623730951},"237":{"tf":1.7320508075688772},"238":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"240":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.7320508075688772},"244":{"tf":1.7320508075688772},"245":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.0},"3":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"_":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"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":{":":{"1":{"df":1,"docs":{"239":{"tf":1.0}}},"3":{"df":1,"docs":{"239":{"tf":1.0}}},"4":{"df":1,"docs":{"239":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{":":{"5":{"df":1,"docs":{"240":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"d":{"df":2,"docs":{"109":{"tf":1.7320508075688772},"110":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"'":{"df":3,"docs":{"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"210":{"tf":1.0}}},"d":{"df":4,"docs":{"15":{"tf":1.0},"217":{"tf":1.0},"25":{"tf":1.0},"252":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"1":{">":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"227":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"d":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"231":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":13,"docs":{"144":{"tf":1.0},"154":{"tf":1.4142135623730951},"173":{"tf":1.0},"208":{"tf":1.0},"228":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"245":{"tf":1.0},"26":{"tf":1.0},"280":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"82":{"tf":1.0}},"i":{"df":1,"docs":{"276":{"tf":1.0}}},"l":{"df":24,"docs":{"151":{"tf":2.0},"152":{"tf":1.4142135623730951},"153":{"tf":2.0},"154":{"tf":1.0},"161":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":1.0},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.4142135623730951},"233":{"tf":1.4142135623730951},"244":{"tf":2.6457513110645907},"247":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.0},"271":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":2.6457513110645907},"261":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":16,"docs":{"103":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"138":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.4142135623730951},"181":{"tf":1.0},"201":{"tf":1.0},"213":{"tf":1.0},"231":{"tf":1.0},"238":{"tf":1.0},"244":{"tf":1.0},"273":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0},"84":{"tf":1.0}}}},"i":{"df":2,"docs":{"153":{"tf":1.0},"208":{"tf":1.0}}}}},"r":{"d":{"c":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"173":{"tf":1.0},"261":{"tf":1.0}}},"df":0,"docs":{}}},"df":6,"docs":{"119":{"tf":1.0},"147":{"tf":1.0},"161":{"tf":1.0},"201":{"tf":1.0},"245":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"245":{"tf":1.0},"277":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"230":{"tf":1.0},"231":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"83":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":1,"docs":{"298":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"159":{"tf":1.0},"194":{"tf":1.0},"234":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":12,"docs":{"117":{"tf":1.0},"183":{"tf":1.4142135623730951},"194":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"267":{"tf":1.0},"276":{"tf":1.0},"280":{"tf":1.0},"34":{"tf":1.0},"76":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"72":{"tf":1.0}},"e":{"a":{"d":{"df":5,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":2.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"262":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}}}}},"p":{"df":2,"docs":{"209":{"tf":1.0},"45":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"244":{"tf":1.0}}},"y":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"213":{"tf":1.0},"271":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":1.0}},"}":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}}}}}}}}},"l":{"d":{"df":1,"docs":{"264":{"tf":1.0}}},"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":8,"docs":{"228":{"tf":1.0},"263":{"tf":1.0},"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":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"m":{"d":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"228":{"tf":1.7320508075688772},"229":{"tf":1.0},"263":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":12,"docs":{"138":{"tf":1.4142135623730951},"158":{"tf":1.0},"228":{"tf":1.0},"263":{"tf":2.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},"65":{"tf":2.0},"8":{"tf":2.0}}}},"p":{"df":3,"docs":{"169":{"tf":1.0},"185":{"tf":1.0},"207":{"tf":1.0}}}},"n":{"c":{"df":1,"docs":{"214":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"138":{"tf":1.0},"161":{"tf":1.0}}},"df":40,"docs":{"103":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"109":{"tf":1.0},"147":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"193":{"tf":1.0},"219":{"tf":1.0},"23":{"tf":1.0},"235":{"tf":1.0},"239":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"36":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"282":{"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":{"59":{"tf":1.0}}}}}}}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"201":{"tf":1.0},"209":{"tf":1.4142135623730951}}}},"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":{"107":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"15":{"tf":1.0},"152":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"243":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":9,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"116":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"65":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.0},"43":{"tf":1.0}}}}},"o":{"c":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"128":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"152":{"tf":1.0},"164":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"235":{"tf":1.7320508075688772},"261":{"tf":1.4142135623730951}},"e":{".":{"<":{"/":{"df":0,"docs":{},"p":{"df":1,"docs":{"262":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"261":{"tf":1.0},"262":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"209":{"tf":1.0},"78":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"276":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"274":{"tf":1.0}}}},"df":6,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.0},"257":{"tf":1.4142135623730951}},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"221":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"172":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.4142135623730951},"124":{"tf":1.7320508075688772}},"s":{"(":{"4":{".":{"0":{"df":1,"docs":{"124":{"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":{"124":{"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":{"235":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"261":{"tf":2.0},"262":{"tf":2.0},"263":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"4":{"0":{"0":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"0":{"4":{"c":{"df":0,"docs":{},"f":{"a":{"d":{"0":{"1":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"7":{"df":0,"docs":{},"f":{"3":{"b":{"8":{"a":{"df":0,"docs":{},"e":{"5":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"221":{"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":{}},"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":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"8":{"0":{"8":{"0":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"254":{"tf":1.0}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{":":{"/":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"4":{"0":{"0":{"0":{"df":1,"docs":{"221":{"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":{},"s":{":":{"/":{"/":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"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":{},"k":{"2":{"0":{"0":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"@":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"256":{"tf":1.0}}}}}}}}}}}}}},"df":1,"docs":{"256":{"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":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"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":{":":{"8":{"df":1,"docs":{"254":{"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":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":7,"docs":{"221":{"tf":3.3166247903554},"252":{"tf":2.0},"253":{"tf":2.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"261":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"s":{":":{"/":{"/":{"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":{},"r":{"df":0,"docs":{},"e":{"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":{"/":{"b":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"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":{}},"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"8":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"/":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"300":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"/":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"284":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"a":{"d":{"d":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"#":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"293":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"298":{"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":{}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"9":{"9":{"/":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"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":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"a":{"df":0,"docs":{},"v":{"a":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"2":{"2":{".":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"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":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"0":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"298":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"1":{".":{"1":{"df":1,"docs":{"300":{"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":{}}},"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":{}}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{".":{"b":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"d":{"df":0,"docs":{},"w":{"b":{"7":{"d":{"df":0,"docs":{},"f":{"8":{"?":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"=":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"1":{"df":1,"docs":{"279":{"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":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0}}}}}}}},"df":2,"docs":{"254":{"tf":2.0},"256":{"tf":1.4142135623730951}}}},"i":{"c":{"df":5,"docs":{"221":{"tf":1.0},"253":{"tf":1.4142135623730951},"254":{"tf":2.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"229":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"171":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"202":{"tf":1.0}}},"df":0,"docs":{}}}},"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":{"93":{"tf":1.0}}}}}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"184":{"tf":1.4142135623730951},"185":{"tf":1.0},"230":{"tf":1.0},"276":{"tf":1.0},"64":{"tf":2.0}}}},"m":{"df":2,"docs":{"172":{"tf":1.0},"184":{"tf":1.0}}}},".":{"df":3,"docs":{"111":{"tf":1.0},"231":{"tf":1.0},"71":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"142":{"tf":1.0},"230":{"tf":1.0}}}},"1":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}},"d":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"209":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"261":{"tf":1.0}},"e":{"a":{"df":3,"docs":{"140":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0}},"l":{"df":4,"docs":{"129":{"tf":1.0},"165":{"tf":1.0},"247":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"124":{"tf":1.0},"150":{"tf":1.0},"186":{"tf":1.0},"239":{"tf":1.0},"240":{"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":{"51":{"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":4,"docs":{"151":{"tf":1.0},"215":{"tf":1.0},"32":{"tf":1.0},"95":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"_":{"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":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"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":{"130":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":14,"docs":{"103":{"tf":1.7320508075688772},"108":{"tf":1.4142135623730951},"130":{"tf":1.0},"148":{"tf":1.7320508075688772},"206":{"tf":1.0},"207":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"69":{"tf":1.7320508075688772},"73":{"tf":1.0},"84":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"114":{"tf":1.0},"221":{"tf":1.0},"232":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"278":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"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":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":5,"docs":{"155":{"tf":1.0},"168":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0},"288":{"tf":1.7320508075688772}}}},"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":{"80":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"103":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":2.0},"208":{"tf":1.7320508075688772},"211":{"tf":1.7320508075688772},"238":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":2.0},"293":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":2.0},"86":{"tf":1.7320508075688772}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"184":{"tf":1.0},"188":{"tf":1.0},"230":{"tf":1.4142135623730951},"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"232":{"tf":1.0},"64":{"tf":1.0}}}},"l":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"221":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"127":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"177":{"tf":1.0},"255":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":66,"docs":{"109":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"158":{"tf":2.6457513110645907},"159":{"tf":2.23606797749979},"160":{"tf":2.23606797749979},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":2.6457513110645907},"165":{"tf":4.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"169":{"tf":1.0},"170":{"tf":2.6457513110645907},"171":{"tf":2.449489742783178},"172":{"tf":1.0},"173":{"tf":2.6457513110645907},"175":{"tf":2.23606797749979},"178":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.4142135623730951},"187":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"192":{"tf":1.4142135623730951},"193":{"tf":2.0},"194":{"tf":1.7320508075688772},"198":{"tf":1.7320508075688772},"199":{"tf":2.23606797749979},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.4142135623730951},"238":{"tf":1.4142135623730951},"244":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"254":{"tf":2.23606797749979},"255":{"tf":2.449489742783178},"256":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"266":{"tf":2.23606797749979},"267":{"tf":2.0},"272":{"tf":2.0},"273":{"tf":2.0},"274":{"tf":2.0},"279":{"tf":2.449489742783178},"28":{"tf":1.0},"280":{"tf":2.0},"284":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"7":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}}}}}},"i":{"c":{"df":4,"docs":{"140":{"tf":1.0},"165":{"tf":1.0},"244":{"tf":1.0},"250":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"130":{"tf":1.4142135623730951},"274":{"tf":1.0},"281":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"133":{"tf":1.0},"223":{"tf":1.0},"279":{"tf":1.0}}}}}}},"df":8,"docs":{"130":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.449489742783178},"166":{"tf":2.449489742783178},"198":{"tf":1.0},"206":{"tf":1.0},"231":{"tf":1.0}},"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":{"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":{":":{"3":{"df":1,"docs":{"164":{"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":{}}}},"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":6,"docs":{"131":{"tf":1.0},"147":{"tf":1.0},"239":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0}}}}}}},"df":13,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"170":{"tf":1.7320508075688772},"182":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"24":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"257":{"tf":1.0},"266":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"s":{"df":5,"docs":{"103":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"264":{"tf":1.0},"90":{"tf":1.0}},"s":{"df":12,"docs":{"127":{"tf":1.0},"130":{"tf":2.6457513110645907},"151":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"228":{"tf":1.0},"237":{"tf":1.4142135623730951},"244":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":31,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"159":{"tf":1.0},"206":{"tf":1.0},"242":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"257":{"tf":1.0},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"189":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"264":{"tf":1.0}}}},"u":{"d":{"df":17,"docs":{"131":{"tf":1.4142135623730951},"142":{"tf":1.0},"156":{"tf":1.0},"173":{"tf":1.0},"199":{"tf":1.0},"220":{"tf":1.0},"232":{"tf":1.0},"238":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.7320508075688772},"257":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"38":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"244":{"tf":1.7320508075688772},"255":{"tf":1.7320508075688772}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"282":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"208":{"tf":1.0},"291":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"d":{"df":3,"docs":{"182":{"tf":1.0},"215":{"tf":1.0},"48":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"208":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"190":{"tf":1.0},"260":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}}},"d":{"df":2,"docs":{"175":{"tf":2.23606797749979},"48":{"tf":1.0}},"e":{"df":1,"docs":{"131":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"199":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"208":{"tf":1.0},"230":{"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":{"177":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"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":{"177":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"175":{"tf":2.0},"176":{"tf":1.4142135623730951}}}},"df":2,"docs":{"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}},"df":14,"docs":{"101":{"tf":3.1622776601683795},"102":{"tf":2.6457513110645907},"137":{"tf":1.4142135623730951},"152":{"tf":2.449489742783178},"161":{"tf":3.0},"162":{"tf":3.4641016151377544},"164":{"tf":3.605551275463989},"165":{"tf":4.47213595499958},"288":{"tf":1.4142135623730951},"291":{"tf":3.1622776601683795},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"f":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":6,"docs":{"152":{"tf":1.4142135623730951},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"175":{"tf":1.0},"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}},"i":{"c":{"df":8,"docs":{"115":{"tf":1.0},"130":{"tf":1.0},"137":{"tf":1.0},"154":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"102":{"tf":1.0},"137":{"tf":1.0},"177":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"184":{"tf":1.0},"241":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.4142135623730951},"264":{"tf":1.0}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"243":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"225":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"127":{"tf":2.6457513110645907},"131":{"tf":2.0},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"139":{"tf":1.0},"175":{"tf":2.23606797749979},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"254":{"tf":1.0},"5":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":2.6457513110645907}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"130":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"214":{"tf":1.0},"246":{"tf":1.0},"256":{"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":{"130":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"o":{"df":2,"docs":{"110":{"tf":1.0},"32":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"152":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"198":{"tf":1.0},"239":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"142":{"tf":1.0},"164":{"tf":1.4142135623730951},"209":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"276":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"169":{"tf":1.4142135623730951},"264":{"tf":1.7320508075688772},"274":{"tf":3.0},"279":{"tf":1.0},"280":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{".":{"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":{"206":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"206":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"207":{"tf":1.7320508075688772},"208":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"+":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"288":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"288":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"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":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"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":{":":{"2":{"df":1,"docs":{"206":{"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":{}}}}}}}},"df":42,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"11":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":2.0},"136":{"tf":1.4142135623730951},"155":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":3.1622776601683795},"205":{"tf":1.7320508075688772},"206":{"tf":4.0},"207":{"tf":2.449489742783178},"208":{"tf":2.0},"209":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":2.23606797749979},"213":{"tf":2.23606797749979},"214":{"tf":1.0},"219":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"46":{"tf":2.6457513110645907},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0},"94":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"235":{"tf":1.7320508075688772},"271":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"186":{"tf":1.0},"261":{"tf":1.0},"83":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"+":{"+":{"+":{"!":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"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":{},"}":{"+":{"+":{"+":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":1,"docs":{"203":{"tf":1.0}}},"b":{"df":1,"docs":{"203":{"tf":1.0}}},"df":3,"docs":{"180":{"tf":1.0},"184":{"tf":1.0},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"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":{"52":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"52":{"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":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"297":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"140":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":3.4641016151377544},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":2,"docs":{"262":{"tf":1.0},"291":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":6,"docs":{"149":{"tf":1.0},"173":{"tf":1.0},"199":{"tf":1.0},"244":{"tf":1.0},"286":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"213":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":9,"docs":{"109":{"tf":1.0},"151":{"tf":1.0},"236":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"76":{"tf":1.0},"77":{"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":7,"docs":{"121":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772},"127":{"tf":1.0},"188":{"tf":1.7320508075688772},"206":{"tf":2.449489742783178},"207":{"tf":1.0},"291":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":13,"docs":{"108":{"tf":3.605551275463989},"109":{"tf":1.7320508075688772},"110":{"tf":1.0},"138":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"207":{"tf":1.7320508075688772},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0},"293":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"184":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":7,"docs":{"121":{"tf":1.7320508075688772},"130":{"tf":1.0},"188":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":32,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"152":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"218":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"250":{"tf":1.0},"252":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":1.0},"90":{"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},"234":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"164":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":86,"docs":{"101":{"tf":2.6457513110645907},"102":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"108":{"tf":2.8284271247461903},"109":{"tf":2.23606797749979},"114":{"tf":2.0},"115":{"tf":1.0},"117":{"tf":2.0},"120":{"tf":1.7320508075688772},"122":{"tf":2.449489742783178},"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":2.23606797749979},"136":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":2.6457513110645907},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":2.23606797749979},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"158":{"tf":2.0},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":3.0},"165":{"tf":3.7416573867739413},"168":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"175":{"tf":3.0},"176":{"tf":1.0},"177":{"tf":2.449489742783178},"180":{"tf":2.449489742783178},"181":{"tf":2.449489742783178},"184":{"tf":1.7320508075688772},"186":{"tf":2.23606797749979},"188":{"tf":1.4142135623730951},"192":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"206":{"tf":2.23606797749979},"207":{"tf":2.23606797749979},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"232":{"tf":1.0},"239":{"tf":2.8284271247461903},"240":{"tf":1.4142135623730951},"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":2.0},"249":{"tf":1.4142135623730951},"251":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.4142135623730951},"290":{"tf":2.23606797749979},"291":{"tf":4.47213595499958},"294":{"tf":3.4641016151377544},"295":{"tf":1.4142135623730951},"296":{"tf":2.0},"297":{"tf":1.0},"300":{"tf":4.358898943540674},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"60":{"tf":1.4142135623730951},"72":{"tf":2.6457513110645907},"75":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"137":{"tf":1.0},"84":{"tf":1.0}},"r":{"df":3,"docs":{"222":{"tf":1.0},"260":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"n":{"d":{"df":17,"docs":{"136":{"tf":1.0},"138":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"194":{"tf":1.4142135623730951},"200":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"243":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"284":{"tf":1.0},"64":{"tf":1.0},"84":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"115":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"157":{"tf":1.0},"188":{"tf":1.0},"245":{"tf":1.0},"249":{"tf":1.0},"250":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"174":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"101":{"tf":1.0},"158":{"tf":1.0},"209":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"122":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"118":{"tf":1.0},"201":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"184":{"tf":1.0},"229":{"tf":1.0},"258":{"tf":1.0},"272":{"tf":1.0},"280":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}},"f":{"a":{"c":{"df":8,"docs":{"157":{"tf":2.0},"160":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":2.23606797749979},"172":{"tf":1.0},"193":{"tf":1.0},"276":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.0}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}}}}}}}}}}}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"n":{"d":{"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":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":5,"docs":{"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0}}}}}},"df":17,"docs":{"179":{"tf":1.0},"183":{"tf":1.0},"201":{"tf":2.23606797749979},"208":{"tf":1.0},"209":{"tf":3.4641016151377544},"236":{"tf":1.0},"238":{"tf":1.0},"243":{"tf":1.4142135623730951},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"286":{"tf":1.0},"3":{"tf":1.0},"70":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"117":{"tf":2.0}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"128":{"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":{"107":{"tf":1.0},"108":{"tf":2.449489742783178},"109":{"tf":3.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"243":{"tf":1.0},"254":{"tf":1.0},"93":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":6,"docs":{"19":{"tf":1.0},"236":{"tf":1.0},"240":{"tf":1.0},"247":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}},"t":{"df":1,"docs":{"199":{"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":{"114":{"tf":2.0}}}}}}}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"<":{"df":0,"docs":{},"x":{"df":1,"docs":{"126":{"tf":1.0}}}},"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":2.0}}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":25,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"239":{"tf":1.4142135623730951},"254":{"tf":1.0},"270":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"118":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"245":{"tf":1.0},"274":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"k":{"df":5,"docs":{"188":{"tf":1.0},"235":{"tf":1.0},"25":{"tf":1.7320508075688772},"293":{"tf":1.0},"32":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"288":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"286":{"tf":1.0}}}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"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":{},"n":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"267":{"tf":1.0}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"103":{"tf":1.0},"153":{"tf":1.0},"213":{"tf":1.0},"235":{"tf":1.0},"291":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"179":{"tf":1.0},"190":{"tf":1.0},"208":{"tf":1.4142135623730951},"222":{"tf":1.0},"231":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":10,"docs":{"116":{"tf":1.0},"13":{"tf":1.0},"130":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"230":{"tf":1.4142135623730951},"246":{"tf":1.0},"268":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"t":{"'":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":56,"docs":{"10":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"233":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"245":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"265":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"273":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"29":{"tf":1.0},"299":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"203":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"230":{"tf":1.0}}},"r":{"df":7,"docs":{"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.7320508075688772},"76":{"tf":1.0},"98":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":25,"docs":{"117":{"tf":1.0},"147":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"164":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"209":{"tf":1.4142135623730951},"210":{"tf":1.0},"217":{"tf":1.0},"222":{"tf":1.0},"249":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.7320508075688772},"280":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"221":{"tf":1.0},"233":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"189":{"tf":1.0},"218":{"tf":2.0},"25":{"tf":1.0},"33":{"tf":2.6457513110645907}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"207":{"tf":2.0},"221":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951}}}}},"v":{"a":{"'":{"df":3,"docs":{"172":{"tf":1.4142135623730951},"278":{"tf":1.0},"55":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"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":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":1,"docs":{"284":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"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":{"291":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"83":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":2,"docs":{"151":{"tf":1.0},"169":{"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":{},"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":{}}}}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"243":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"284":{"tf":1.4142135623730951}}},"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":20,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":2.8284271247461903},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"189":{"tf":1.0},"198":{"tf":1.0},"218":{"tf":1.0},"22":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951},"33":{"tf":2.0},"66":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"180":{"tf":1.7320508075688772}},"o":{"b":{"df":2,"docs":{"140":{"tf":1.0},"269":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"64":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"276":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"/":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"/":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"/":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"300":{"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":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"221":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951},"257":{"tf":3.3166247903554},"258":{"tf":1.7320508075688772}}}}},"u":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"15":{"tf":1.0},"252":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"214":{"tf":1.0}}},"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":2,"docs":{"293":{"tf":6.082762530298219},"99":{"tf":1.0}}}},"df":5,"docs":{"293":{"tf":5.830951894845301},"58":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":20,"docs":{"116":{"tf":1.0},"131":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"18":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"211":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"268":{"tf":1.0},"33":{"tf":1.0}}}},"y":{"df":10,"docs":{"183":{"tf":1.0},"230":{"tf":1.0},"273":{"tf":1.0},"293":{"tf":5.830951894845301},"39":{"tf":1.0},"58":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"256":{"tf":1.0}}}},"n":{"d":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"280":{"tf":1.4142135623730951}}},"df":0,"docs":{},"w":{"df":22,"docs":{"102":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"189":{"tf":1.0},"194":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"216":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"64":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":3,"docs":{"173":{"tf":1.0},"180":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":16,"docs":{"107":{"tf":1.0},"108":{"tf":2.0},"13":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"183":{"tf":1.0},"185":{"tf":1.7320508075688772},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"230":{"tf":1.4142135623730951},"276":{"tf":1.0},"278":{"tf":1.0},"64":{"tf":1.4142135623730951},"71":{"tf":1.0}}}}}}},"l":{"1":{"2":{"3":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"187":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"184":{"tf":1.4142135623730951},"187":{"tf":2.6457513110645907}}},"2":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"187":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"184":{"tf":1.4142135623730951},"187":{"tf":2.6457513110645907}}},"[":{"0":{"df":4,"docs":{"150":{"tf":1.7320508075688772},"156":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}},"9":{"9":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":3,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"156":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"175":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"271":{"tf":1.4142135623730951}}}},"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}}}}}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"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":{"135":{"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":{"148":{"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":15,"docs":{"114":{"tf":1.4142135623730951},"135":{"tf":2.23606797749979},"144":{"tf":1.7320508075688772},"145":{"tf":2.449489742783178},"146":{"tf":1.7320508075688772},"147":{"tf":3.1622776601683795},"148":{"tf":2.449489742783178},"149":{"tf":2.8284271247461903},"150":{"tf":1.7320508075688772},"155":{"tf":1.4142135623730951},"186":{"tf":1.0},"211":{"tf":1.0},"241":{"tf":2.449489742783178},"250":{"tf":2.23606797749979},"293":{"tf":1.4142135623730951}}},"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":11,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"/":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"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":{":":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"278":{"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":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"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":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{"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":7,"docs":{"189":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"=":{"\\":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"262":{"tf":1.0}}}}},"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":47,"docs":{"1":{"tf":1.4142135623730951},"103":{"tf":1.0},"107":{"tf":2.0},"113":{"tf":1.0},"131":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"140":{"tf":1.7320508075688772},"151":{"tf":1.7320508075688772},"158":{"tf":1.0},"169":{"tf":1.7320508075688772},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"178":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.4142135623730951},"198":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.4142135623730951},"220":{"tf":1.0},"222":{"tf":1.4142135623730951},"228":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"24":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.0},"245":{"tf":1.0},"252":{"tf":1.0},"259":{"tf":1.4142135623730951},"260":{"tf":1.0},"263":{"tf":1.7320508075688772},"264":{"tf":1.7320508075688772},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"33":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.4142135623730951}},"e":{"'":{"df":2,"docs":{"260":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":15,"docs":{"182":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0},"278":{"tf":1.0},"51":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"190":{"tf":1.4142135623730951},"232":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"174":{"tf":1.0},"230":{"tf":1.0},"291":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0},"79":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":2,"docs":{"202":{"tf":1.0},"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"244":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":9,"docs":{"110":{"tf":1.0},"144":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.0},"244":{"tf":1.0},"278":{"tf":1.4142135623730951},"288":{"tf":1.0},"93":{"tf":2.23606797749979},"94":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"256":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"a":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"122":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":2,"docs":{"213":{"tf":2.449489742783178},"235":{"tf":1.7320508075688772}}}}},"df":22,"docs":{"132":{"tf":1.4142135623730951},"136":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":2.23606797749979},"248":{"tf":1.4142135623730951},"281":{"tf":1.0},"45":{"tf":1.0},"60":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":15,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.0},"160":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"211":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.4142135623730951},"246":{"tf":1.0},"252":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":15,"docs":{"14":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"214":{"tf":1.4142135623730951},"262":{"tf":1.0},"280":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"67":{"tf":1.0}}}},"v":{"df":10,"docs":{"107":{"tf":1.0},"147":{"tf":1.0},"166":{"tf":1.0},"178":{"tf":1.0},"215":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"298":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":9,"docs":{"107":{"tf":1.0},"128":{"tf":2.8284271247461903},"129":{"tf":2.6457513110645907},"153":{"tf":1.0},"154":{"tf":1.0},"179":{"tf":2.23606797749979},"217":{"tf":1.0},"271":{"tf":1.0},"291":{"tf":1.0}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"103":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"248":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"263":{"tf":1.0}}}}}}},"n":{"(":{"\"":{"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":{},"t":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"155":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0}},"l":{"df":5,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"156":{"tf":1.0},"175":{"tf":1.0},"90":{"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":{"180":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"180":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{")":{".":{"df":0,"docs":{},"v":{"df":2,"docs":{"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":2,"docs":{"168":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"64":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"110":{"tf":1.0},"172":{"tf":1.0},"229":{"tf":1.0}}},"t":{"df":1,"docs":{"184":{"tf":1.0}}}},"t":{"'":{"df":10,"docs":{"15":{"tf":1.0},"152":{"tf":1.0},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"186":{"tf":1.0},"212":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0}}},"df":2,"docs":{"130":{"tf":1.0},"189":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"194":{"tf":1.4142135623730951}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":21,"docs":{"116":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"209":{"tf":1.0},"222":{"tf":1.0},"233":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.7320508075688772},"271":{"tf":1.4142135623730951},"273":{"tf":1.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"83":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"119":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"260":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"h":{"df":4,"docs":{"134":{"tf":1.0},"135":{"tf":2.0},"145":{"tf":1.4142135623730951},"158":{"tf":1.0}},"s":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"158":{"tf":1.0}}}}}}}},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"264":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"215":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"5":{"tf":1.0},"86":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":1,"docs":{"243":{"tf":1.4142135623730951}}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"209":{"tf":1.0},"210":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"174":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"210":{"tf":1.0},"213":{"tf":1.0}}}}}}},"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":{"111":{"tf":2.0},"112":{"tf":2.449489742783178},"113":{"tf":2.449489742783178},"74":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":2.6457513110645907}}}}}}}}}},"df":1,"docs":{"111":{"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":2,"docs":{"215":{"tf":1.0},"244":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":16,"docs":{"113":{"tf":1.0},"133":{"tf":1.0},"139":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"174":{"tf":1.0},"188":{"tf":1.0},"205":{"tf":1.0},"244":{"tf":1.0},"245":{"tf":1.0},"250":{"tf":1.0},"258":{"tf":1.4142135623730951},"277":{"tf":1.7320508075688772},"300":{"tf":1.0},"69":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"293":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.7320508075688772}}}},"df":26,"docs":{"150":{"tf":1.0},"2":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.4142135623730951},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.7320508075688772},"220":{"tf":2.449489742783178},"228":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"84":{"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":3,"docs":{"110":{"tf":1.0},"169":{"tf":1.0},"300":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"110":{"tf":1.7320508075688772}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"291":{"tf":1.0}}},"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":44,"docs":{"110":{"tf":1.4142135623730951},"136":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":2.0},"156":{"tf":1.4142135623730951},"173":{"tf":1.7320508075688772},"18":{"tf":1.0},"180":{"tf":1.7320508075688772},"181":{"tf":1.0},"183":{"tf":2.449489742783178},"184":{"tf":2.8284271247461903},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"204":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"247":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"269":{"tf":2.0},"270":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":3.0},"291":{"tf":7.0},"298":{"tf":1.7320508075688772},"36":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":2.6457513110645907},"87":{"tf":2.6457513110645907},"88":{"tf":2.0},"89":{"tf":2.0},"90":{"tf":2.23606797749979},"91":{"tf":2.6457513110645907},"92":{"tf":2.0},"93":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.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":{"91":{"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":{"184":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":5,"docs":{"281":{"tf":1.4142135623730951},"60":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"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":{"77":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"184":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":2,"docs":{"84":{"tf":1.0},"91":{"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":{"184":{"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},"244":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":24,"docs":{"101":{"tf":2.0},"102":{"tf":1.4142135623730951},"114":{"tf":1.0},"137":{"tf":2.0},"263":{"tf":1.0},"264":{"tf":2.0},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"49":{"tf":2.0},"84":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}},"l":{"df":3,"docs":{"156":{"tf":1.0},"165":{"tf":1.0},"288":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"147":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"246":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"246":{"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":3,"docs":{"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":7,"docs":{"189":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"_":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{":":{"d":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"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":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":4,"docs":{"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"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":12,"docs":{"195":{"tf":1.0},"197":{"tf":1.0},"228":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"279":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"214":{"tf":1.0},"24":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"278":{"tf":1.0},"38":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"147":{"tf":1.0},"22":{"tf":1.0},"221":{"tf":1.0},"238":{"tf":1.7320508075688772},"249":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"221":{"tf":1.0},"257":{"tf":1.0}}}}}}},"t":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"196":{"tf":1.0},"237":{"tf":1.0},"24":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"237":{"tf":1.0}}}},"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"212":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"212":{"tf":1.0}}}}}},"df":5,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"213":{"tf":1.7320508075688772},"257":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951}},"i":{"c":{"df":23,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"140":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.0},"173":{"tf":1.4142135623730951},"180":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"190":{"tf":1.0},"199":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"244":{"tf":1.7320508075688772},"246":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.4142135623730951},"260":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.7320508075688772},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.0},"147":{"tf":1.0},"173":{"tf":1.0},"203":{"tf":1.0},"208":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0},"248":{"tf":1.0},"255":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"292":{"tf":2.23606797749979},"296":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"109":{"tf":1.4142135623730951},"244":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"228":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"228":{"tf":1.4142135623730951},"229":{"tf":1.0}}},"df":0,"docs":{}}},"df":19,"docs":{"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"145":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"34":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"160":{"tf":1.0}}}}},"p":{"'":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"df":21,"docs":{"155":{"tf":1.0},"186":{"tf":1.0},"197":{"tf":1.0},"214":{"tf":1.0},"246":{"tf":1.0},"256":{"tf":1.0},"270":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.0},"76":{"tf":1.0},"77":{"tf":1.0},"98":{"tf":1.0}}},"s":{"df":1,"docs":{"198":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"69":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"244":{"tf":1.7320508075688772},"277":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},"t":{"df":4,"docs":{"201":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0}}},"w":{"df":5,"docs":{"152":{"tf":1.0},"187":{"tf":1.0},"244":{"tf":1.0},"276":{"tf":1.4142135623730951},"45":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"230":{"tf":1.0}}}}},"o":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":10,"docs":{"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"270":{"tf":2.23606797749979},"271":{"tf":2.449489742783178},"273":{"tf":1.0},"275":{"tf":1.0},"277":{"tf":1.7320508075688772},"278":{"tf":2.0},"279":{"tf":1.7320508075688772},"280":{"tf":1.4142135623730951}},"s":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":17,"docs":{"11":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"187":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"243":{"tf":1.0},"256":{"tf":1.0},"275":{"tf":1.0},"293":{"tf":2.449489742783178},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}},"df":3,"docs":{"228":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0}},"g":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"254":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"172":{"tf":1.0}}}}}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":12,"docs":{"189":{"tf":1.0},"197":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.0},"228":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"267":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}}},"df":10,"docs":{"211":{"tf":1.0},"212":{"tf":2.0},"213":{"tf":1.4142135623730951},"220":{"tf":1.0},"234":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951},"27":{"tf":1.0},"64":{"tf":1.0},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":14,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"165":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.7320508075688772},"208":{"tf":1.0},"215":{"tf":1.0},"226":{"tf":1.0},"252":{"tf":1.0},"273":{"tf":1.0},"7":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"118":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"272":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"131":{"tf":1.0},"155":{"tf":1.0},"269":{"tf":1.0},"82":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":61,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.0},"18":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"211":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"226":{"tf":1.0},"227":{"tf":1.7320508075688772},"229":{"tf":1.0},"230":{"tf":2.0},"239":{"tf":1.0},"243":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"245":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.0},"252":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"257":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"267":{"tf":2.0},"269":{"tf":1.0},"270":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"280":{"tf":1.0},"300":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0},"95":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"c":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"272":{"tf":1.0},"273":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"274":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"(":{"c":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}},"df":3,"docs":{"274":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.4142135623730951}}}}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"231":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"244":{"tf":1.0},"5":{"tf":1.0},"70":{"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":{"156":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"51":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"242":{"tf":1.0}}},"i":{"df":26,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"151":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"230":{"tf":1.0},"244":{"tf":1.0},"257":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"39":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":5,"docs":{"140":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"260":{"tf":1.0},"82":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"209":{"tf":1.0},"260":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":17,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"180":{"tf":1.0},"184":{"tf":1.7320508075688772},"209":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"242":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.4142135623730951},"277":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"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":{"184":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"<":{"a":{"df":1,"docs":{"289":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":10,"docs":{"230":{"tf":1.0},"293":{"tf":8.12403840463596},"39":{"tf":1.0},"58":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":2.0},"96":{"tf":2.0},"97":{"tf":2.449489742783178},"98":{"tf":2.0},"99":{"tf":3.0}},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"146":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"230":{"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":{"99":{"tf":1.0}}}}},"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":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"293":{"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":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":2.23606797749979}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"263":{"tf":1.4142135623730951}}}}}},"df":3,"docs":{"16":{"tf":1.0},"209":{"tf":1.0},"243":{"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":{"69":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"69":{"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":21,"docs":{"102":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.7320508075688772},"180":{"tf":1.4142135623730951},"186":{"tf":1.0},"219":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.4142135623730951},"66":{"tf":3.1622776601683795},"67":{"tf":2.23606797749979},"68":{"tf":1.7320508075688772},"69":{"tf":3.7416573867739413},"70":{"tf":2.8284271247461903},"71":{"tf":2.449489742783178},"72":{"tf":2.8284271247461903},"73":{"tf":2.6457513110645907},"74":{"tf":3.3166247903554},"75":{"tf":3.0}},"e":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"294":{"tf":1.7320508075688772}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"180":{"tf":1.0},"223":{"tf":1.0},"25":{"tf":1.0},"272":{"tf":1.0}}}}}},"x":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"186":{"tf":2.23606797749979}}}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"177":{"tf":2.0}}},"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"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":{"127":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"125":{"tf":1.0},"127":{"tf":1.0}}}}},"1":{"0":{"df":1,"docs":{"125":{"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":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"125":{"tf":1.0},"127":{"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":{"127":{"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":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"127":{"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":{"235":{"tf":2.23606797749979}}}}},"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":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}}}}}}}}}}}},"df":5,"docs":{"288":{"tf":1.7320508075688772},"293":{"tf":2.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":28,"docs":{"132":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.4142135623730951},"171":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0},"195":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"252":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"288":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"73":{"tf":1.0},"81":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"111":{"tf":1.0},"187":{"tf":1.0},"244":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}}},"t":{"df":1,"docs":{"280":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":22,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"171":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"215":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"245":{"tf":1.0},"279":{"tf":1.0},"284":{"tf":1.0},"39":{"tf":1.0},"64":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"51":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"235":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"183":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":1.0},"237":{"tf":1.4142135623730951},"244":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"157":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"153":{"tf":1.0},"174":{"tf":1.0},"214":{"tf":1.0},"224":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"293":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"159":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"221":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"273":{"tf":1.0},"279":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":1,"docs":{"262":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":25,"docs":{"229":{"tf":1.0},"259":{"tf":1.7320508075688772},"260":{"tf":1.4142135623730951},"261":{"tf":1.4142135623730951},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.4142135623730951},"266":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"277":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"158":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"df":7,"docs":{"170":{"tf":2.0},"220":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":3,"docs":{"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"124":{"tf":2.23606797749979}},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.4142135623730951}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":3,"docs":{"272":{"tf":1.0},"279":{"tf":1.0},"48":{"tf":1.0}}}},"n":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":11,"docs":{"116":{"tf":1.0},"131":{"tf":1.0},"166":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"220":{"tf":1.0},"234":{"tf":1.0},"238":{"tf":1.0},"260":{"tf":1.0},"69":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"263":{"tf":1.4142135623730951},"291":{"tf":1.0},"8":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"291":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"(":{"a":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"155":{"tf":1.0}}}},"u":{"df":1,"docs":{"278":{"tf":1.0}},"t":{"df":2,"docs":{"11":{"tf":1.0},"189":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":5,"docs":{"189":{"tf":1.0},"229":{"tf":1.0},"254":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"112":{"tf":1.7320508075688772},"189":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"230":{"tf":1.0},"75":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"244":{"tf":1.0}}}}},"x":{"df":1,"docs":{"85":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":20,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"122":{"tf":1.0},"151":{"tf":2.0},"152":{"tf":1.0},"153":{"tf":1.0},"157":{"tf":1.0},"189":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"274":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"98":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"274":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"249":{"tf":1.0},"298":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"198":{"tf":1.0}}}},"df":102,"docs":{"127":{"tf":1.0},"152":{"tf":1.0},"16":{"tf":1.0},"164":{"tf":1.0},"17":{"tf":2.0},"189":{"tf":1.4142135623730951},"190":{"tf":2.6457513110645907},"191":{"tf":2.23606797749979},"192":{"tf":1.7320508075688772},"193":{"tf":1.7320508075688772},"194":{"tf":3.605551275463989},"195":{"tf":2.0},"196":{"tf":1.7320508075688772},"197":{"tf":2.0},"198":{"tf":2.8284271247461903},"199":{"tf":2.6457513110645907},"2":{"tf":1.0},"200":{"tf":1.7320508075688772},"201":{"tf":1.7320508075688772},"202":{"tf":2.0},"203":{"tf":2.0},"204":{"tf":2.449489742783178},"205":{"tf":1.4142135623730951},"206":{"tf":2.0},"207":{"tf":1.7320508075688772},"208":{"tf":1.4142135623730951},"209":{"tf":2.23606797749979},"210":{"tf":2.23606797749979},"211":{"tf":1.7320508075688772},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"214":{"tf":2.0},"215":{"tf":2.23606797749979},"216":{"tf":1.4142135623730951},"217":{"tf":1.4142135623730951},"218":{"tf":1.4142135623730951},"219":{"tf":1.4142135623730951},"220":{"tf":2.23606797749979},"221":{"tf":2.23606797749979},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.4142135623730951},"225":{"tf":2.0},"226":{"tf":2.23606797749979},"227":{"tf":1.4142135623730951},"228":{"tf":2.8284271247461903},"229":{"tf":2.0},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"255":{"tf":1.0},"265":{"tf":2.0},"266":{"tf":2.449489742783178},"267":{"tf":2.6457513110645907},"268":{"tf":1.0},"269":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"270":{"tf":1.7320508075688772},"271":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"274":{"tf":1.7320508075688772},"275":{"tf":1.0},"276":{"tf":2.0},"277":{"tf":1.4142135623730951},"278":{"tf":3.0},"279":{"tf":3.3166247903554},"280":{"tf":1.0},"281":{"tf":2.6457513110645907},"282":{"tf":1.0},"283":{"tf":1.7320508075688772},"284":{"tf":2.0},"285":{"tf":1.7320508075688772},"286":{"tf":1.7320508075688772},"287":{"tf":1.7320508075688772},"288":{"tf":1.7320508075688772},"289":{"tf":1.7320508075688772},"290":{"tf":1.7320508075688772},"291":{"tf":2.6457513110645907},"292":{"tf":1.7320508075688772},"293":{"tf":2.6457513110645907},"294":{"tf":1.7320508075688772},"295":{"tf":1.7320508075688772},"296":{"tf":1.7320508075688772},"297":{"tf":1.7320508075688772},"298":{"tf":2.23606797749979},"299":{"tf":1.7320508075688772},"300":{"tf":1.7320508075688772},"301":{"tf":1.7320508075688772},"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},"9":{"tf":1.0},"91":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"'":{"df":13,"docs":{"198":{"tf":1.0},"199":{"tf":1.4142135623730951},"219":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.7320508075688772},"286":{"tf":1.0}}},"(":{"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":17,"docs":{"195":{"tf":1.4142135623730951},"204":{"tf":1.0},"206":{"tf":1.4142135623730951},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"266":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"278":{"tf":1.0},"286":{"tf":1.0},"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":5,"docs":{"172":{"tf":1.0},"198":{"tf":1.0},"243":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0}}}}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"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":3,"docs":{"139":{"tf":1.0},"160":{"tf":1.7320508075688772},"171":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"208":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"e":{"df":86,"docs":{"101":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"138":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"158":{"tf":1.0},"161":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"193":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.4142135623730951},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.7320508075688772},"221":{"tf":1.0},"222":{"tf":1.4142135623730951},"224":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.7320508075688772},"229":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.7320508075688772},"237":{"tf":1.4142135623730951},"241":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"250":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":2.0},"260":{"tf":1.7320508075688772},"261":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"265":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.7320508075688772},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":1.4142135623730951},"280":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":2.0},"86":{"tf":1.4142135623730951}}},"n":{"df":3,"docs":{"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"279":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":7,"docs":{"189":{"tf":1.0},"221":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":1.4142135623730951},"271":{"tf":1.0},"3":{"tf":1.0},"43":{"tf":1.0}}},"i":{"df":1,"docs":{"231":{"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":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"124":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"124":{"tf":2.23606797749979}}}},"s":{"df":0,"docs":{},"g":{"df":7,"docs":{"212":{"tf":1.0},"228":{"tf":1.4142135623730951},"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":27,"docs":{"107":{"tf":1.4142135623730951},"131":{"tf":1.0},"156":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.0},"221":{"tf":1.0},"227":{"tf":1.0},"231":{"tf":1.4142135623730951},"233":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"277":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"197":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":6,"docs":{"239":{"tf":1.0},"240":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0},"68":{"tf":1.4142135623730951},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":30,"docs":{"138":{"tf":1.0},"139":{"tf":1.0},"154":{"tf":1.0},"161":{"tf":2.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"187":{"tf":1.0},"193":{"tf":1.0},"199":{"tf":1.0},"216":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.4142135623730951},"239":{"tf":1.0},"241":{"tf":1.0},"266":{"tf":2.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.7320508075688772},"273":{"tf":1.7320508075688772},"293":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":2,"docs":{"192":{"tf":1.0},"193":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"147":{"tf":1.0},"150":{"tf":1.0},"230":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"291":{"tf":1.0},"293":{"tf":1.0}}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":32,"docs":{"103":{"tf":2.23606797749979},"106":{"tf":1.7320508075688772},"147":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"180":{"tf":2.6457513110645907},"181":{"tf":2.6457513110645907},"183":{"tf":2.0},"184":{"tf":1.0},"187":{"tf":2.6457513110645907},"188":{"tf":1.7320508075688772},"201":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"211":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.7320508075688772},"239":{"tf":2.449489742783178},"240":{"tf":1.7320508075688772},"241":{"tf":2.23606797749979},"242":{"tf":2.6457513110645907},"243":{"tf":2.23606797749979},"293":{"tf":2.0},"298":{"tf":1.0},"4":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":2.23606797749979},"85":{"tf":3.0},"86":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.0}}}},"t":{"df":16,"docs":{"103":{"tf":2.8284271247461903},"106":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":2.0},"183":{"tf":1.0},"187":{"tf":1.0},"201":{"tf":1.0},"207":{"tf":2.0},"209":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":1.0},"242":{"tf":1.0},"84":{"tf":1.0}}}},"df":41,"docs":{"103":{"tf":2.449489742783178},"106":{"tf":2.0},"150":{"tf":2.23606797749979},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"173":{"tf":2.0},"178":{"tf":2.23606797749979},"179":{"tf":3.1622776601683795},"180":{"tf":3.872983346207417},"181":{"tf":1.4142135623730951},"183":{"tf":1.7320508075688772},"184":{"tf":2.23606797749979},"187":{"tf":3.605551275463989},"207":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":1.0},"243":{"tf":1.4142135623730951},"281":{"tf":1.7320508075688772},"284":{"tf":1.0},"291":{"tf":5.830951894845301},"293":{"tf":5.744562646538029},"295":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":6.082762530298219},"60":{"tf":1.4142135623730951},"77":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"84":{"tf":1.7320508075688772},"85":{"tf":3.1622776601683795},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":2.0},"77":{"tf":1.4142135623730951},"80":{"tf":1.0},"85":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"y":{"_":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"b":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"210":{"tf":1.0},"257":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"251":{"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":{"249":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"178":{"tf":2.23606797749979}}},"y":{"[":{"2":{"df":1,"docs":{"178":{"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":{"116":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"286":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"286":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":2.0}}}}},"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":3,"docs":{"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"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":{"96":{"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":{"96":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"96":{"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":{"251":{"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":{"138":{"tf":1.0}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"[":{"0":{"df":2,"docs":{"101":{"tf":1.0},"103":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"101":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"102":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"116":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{}}},"2":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"df":3,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"%":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"252":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"=":{"\\":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}},"df":60,"docs":{"104":{"tf":1.0},"106":{"tf":1.7320508075688772},"11":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.7320508075688772},"194":{"tf":2.6457513110645907},"195":{"tf":1.7320508075688772},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":2.449489742783178},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951},"220":{"tf":2.0},"223":{"tf":1.0},"224":{"tf":1.4142135623730951},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":2.0},"23":{"tf":1.0},"233":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.0},"255":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"263":{"tf":1.0},"266":{"tf":1.7320508075688772},"267":{"tf":2.449489742783178},"269":{"tf":2.0},"270":{"tf":1.7320508075688772},"272":{"tf":1.7320508075688772},"273":{"tf":2.23606797749979},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":2.449489742783178},"281":{"tf":1.0},"286":{"tf":1.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"83":{"tf":1.0}},"s":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{"184":{"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":3,"docs":{"109":{"tf":2.8284271247461903},"110":{"tf":1.4142135623730951},"154":{"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":{"109":{"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":{}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"270":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"220":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"252":{"tf":1.0}}}}}},"df":3,"docs":{"170":{"tf":1.7320508075688772},"262":{"tf":1.0},"288":{"tf":2.449489742783178}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":11,"docs":{"102":{"tf":1.0},"108":{"tf":1.4142135623730951},"139":{"tf":1.0},"153":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"209":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"291":{"tf":1.0},"69":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"209":{"tf":1.0},"274":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":53,"docs":{"103":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.0},"19":{"tf":1.0},"190":{"tf":1.0},"204":{"tf":1.0},"208":{"tf":1.0},"213":{"tf":1.4142135623730951},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.7320508075688772},"231":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":1.0},"247":{"tf":1.0},"250":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"279":{"tf":1.0},"281":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"f":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"248":{"tf":1.0}}},"t":{"df":12,"docs":{"130":{"tf":1.0},"131":{"tf":1.0},"179":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":4,"docs":{"209":{"tf":1.0},"230":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"130":{"tf":1.0},"142":{"tf":1.0},"150":{"tf":1.0},"186":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.4142135623730951},"244":{"tf":1.7320508075688772},"265":{"tf":1.0},"275":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.0},"298":{"tf":1.0},"45":{"tf":1.0},"93":{"tf":1.7320508075688772},"95":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":37,"docs":{"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.7320508075688772},"124":{"tf":1.0},"128":{"tf":1.0},"156":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"18":{"tf":1.0},"183":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.0},"205":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"264":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":2.0},"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},"65":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"38":{"tf":1.0},"42":{"tf":1.0}},"n":{"df":1,"docs":{"262":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":51,"docs":{"110":{"tf":1.0},"120":{"tf":2.23606797749979},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.7320508075688772},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"175":{"tf":1.0},"181":{"tf":1.7320508075688772},"186":{"tf":1.0},"188":{"tf":1.0},"192":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"229":{"tf":1.0},"243":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.4142135623730951},"287":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":2.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"299":{"tf":1.4142135623730951},"301":{"tf":1.0},"72":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"tf":1.7320508075688772}},"u":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":14,"docs":{"110":{"tf":2.8284271247461903},"14":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":2.0},"162":{"tf":2.6457513110645907},"164":{"tf":2.6457513110645907},"165":{"tf":3.3166247903554},"186":{"tf":2.0},"260":{"tf":1.0},"275":{"tf":1.0},"288":{"tf":1.0},"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"68":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{"296":{"tf":1.0}}}}},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{"296":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"271":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"75":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}}}}}},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"297":{"tf":2.6457513110645907}}}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"284":{"tf":3.3166247903554},"295":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":1.7320508075688772}}}}},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"129":{"tf":2.23606797749979}}}}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":2.0},"165":{"tf":2.449489742783178}}}}},"t":{"df":5,"docs":{"129":{"tf":1.0},"161":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"165":{"tf":2.449489742783178}}}},"a":{"df":1,"docs":{"240":{"tf":2.23606797749979}}},"b":{"df":2,"docs":{"239":{"tf":2.0},"240":{"tf":2.0}}},"c":{"df":2,"docs":{"239":{"tf":2.23606797749979},"240":{"tf":2.23606797749979}}},"df":15,"docs":{"110":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.7320508075688772},"231":{"tf":3.3166247903554},"232":{"tf":3.1622776601683795},"233":{"tf":1.4142135623730951},"235":{"tf":2.8284271247461903},"238":{"tf":1.4142135623730951},"239":{"tf":3.1622776601683795},"240":{"tf":3.3166247903554},"244":{"tf":1.7320508075688772},"246":{"tf":1.0},"248":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"32":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"118":{"tf":2.0}}}}},"n":{"df":21,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"194":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"236":{"tf":1.0},"238":{"tf":1.0},"244":{"tf":1.4142135623730951},"247":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"291":{"tf":1.0},"3":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"75":{"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":{"64":{"tf":1.0}},"e":{"[":{"0":{"df":1,"docs":{"64":{"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":{"64":{"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":2,"docs":{"108":{"tf":1.0},"288":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":2,"docs":{"246":{"tf":1.0},"248":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"281":{"tf":1.0},"288":{"tf":1.7320508075688772}}}},"df":1,"docs":{"170":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"202":{"tf":2.23606797749979},"300":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"o":{"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"279":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":61,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.4142135623730951},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"164":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"214":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"223":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.7320508075688772},"254":{"tf":1.0},"255":{"tf":1.7320508075688772},"256":{"tf":1.0},"27":{"tf":1.0},"298":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}},"h":{"df":10,"docs":{"128":{"tf":2.23606797749979},"129":{"tf":2.0},"164":{"tf":1.0},"172":{"tf":1.0},"181":{"tf":1.0},"206":{"tf":1.0},"239":{"tf":1.0},"278":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0}}},"i":{"c":{"df":16,"docs":{"156":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.4142135623730951},"194":{"tf":1.0},"195":{"tf":1.0},"215":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"279":{"tf":1.0},"32":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"157":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"252":{"tf":1.0}}}}},"w":{"df":45,"docs":{"103":{"tf":1.0},"111":{"tf":1.0},"158":{"tf":1.0},"165":{"tf":2.23606797749979},"171":{"tf":1.0},"180":{"tf":2.0},"184":{"tf":1.7320508075688772},"189":{"tf":1.4142135623730951},"198":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":1.7320508075688772},"209":{"tf":1.0},"210":{"tf":1.0},"219":{"tf":1.4142135623730951},"221":{"tf":1.7320508075688772},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.0},"248":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":1.0},"262":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":2.449489742783178},"28":{"tf":1.0},"286":{"tf":1.0},"299":{"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},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"130":{"tf":1.0},"161":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":2.0},"234":{"tf":1.0},"244":{"tf":1.4142135623730951},"266":{"tf":1.0},"291":{"tf":1.0},"45":{"tf":2.0},"63":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}}}},"df":1,"docs":{"206":{"tf":1.7320508075688772}},"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":{"192":{"tf":1.0},"193":{"tf":1.0}}}}},"t":{"df":1,"docs":{"192":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"7":{"df":1,"docs":{"206":{"tf":1.0}}},"8":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"206":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"8":{"df":1,"docs":{"206":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"247":{"tf":1.0}}}}}}}},"{":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}}}}},"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":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}}},"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":2.0},"170":{"tf":1.0},"278":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":6,"docs":{"142":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":5,"docs":{"131":{"tf":1.0},"134":{"tf":1.0},"168":{"tf":1.0},"199":{"tf":1.0},"272":{"tf":1.0}},"s":{"df":3,"docs":{"169":{"tf":1.0},"201":{"tf":1.0},"242":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"184":{"tf":1.0},"213":{"tf":1.0},"237":{"tf":1.0},"291":{"tf":1.0}},"r":{"df":3,"docs":{"155":{"tf":1.0},"174":{"tf":1.0},"291":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"d":{"d":{"df":1,"docs":{"206":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"7":{"df":1,"docs":{"206":{"tf":1.0}}},"8":{"df":1,"docs":{"206":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"206":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":2,"docs":{"138":{"tf":1.4142135623730951},"87":{"tf":1.0}},"f":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"284":{"tf":1.0},"295":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"235":{"tf":1.4142135623730951},"257":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"66":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"207":{"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":{"155":{"tf":1.0}}}}}}}}},"k":{"df":4,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"272":{"tf":1.0},"299":{"tf":1.0}}},"l":{"d":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"293":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"293":{"tf":1.0}},"u":{"df":1,"docs":{"293":{"tf":1.0}}},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"v":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"106":{"tf":1.0},"131":{"tf":1.0},"223":{"tf":1.0}}}}},"n":{"c":{"df":15,"docs":{"11":{"tf":1.0},"165":{"tf":1.0},"189":{"tf":1.0},"213":{"tf":1.0},"231":{"tf":1.0},"244":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.7320508075688772},"280":{"tf":1.0},"288":{"tf":1.4142135623730951},"293":{"tf":1.0},"296":{"tf":1.0},"300":{"tf":1.0},"64":{"tf":1.0},"9":{"tf":1.0}}},"df":60,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":2.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":1.0},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0},"182":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"201":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"223":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"232":{"tf":1.0},"234":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"250":{"tf":1.0},"261":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.7320508075688772},"29":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0}},"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":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"[":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"a":{"df":2,"docs":{"138":{"tf":1.0},"154":{"tf":2.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"138":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"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":2,"docs":{"291":{"tf":1.4142135623730951},"297":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"c":{"a":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"285":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"287":{"tf":1.0},"297":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"168":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":2.0},"138":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"186":{"tf":1.0},"202":{"tf":2.0},"290":{"tf":1.0},"291":{"tf":2.0},"297":{"tf":1.0},"300":{"tf":2.0}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"128":{"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":{"110":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"292":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":5,"docs":{"129":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}}}}}},"r":{"df":4,"docs":{"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"74":{"tf":2.0}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"d":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":8,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":2.0},"207":{"tf":1.0},"284":{"tf":2.449489742783178},"291":{"tf":1.0},"297":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":7,"docs":{"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"221":{"tf":1.0},"286":{"tf":1.0},"297":{"tf":2.23606797749979}}}}},"t":{"df":9,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"175":{"tf":1.0},"284":{"tf":2.449489742783178},"291":{"tf":2.0},"295":{"tf":1.4142135623730951},"299":{"tf":1.0}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"293":{"tf":3.872983346207417}}}},"df":9,"docs":{"107":{"tf":2.0},"108":{"tf":2.23606797749979},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"113":{"tf":1.0},"134":{"tf":1.0},"154":{"tf":1.4142135623730951},"160":{"tf":1.0},"75":{"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":{"108":{"tf":1.0}}},"4":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"209":{"tf":1.0}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"205":{"tf":1.0}}}},"u":{"df":2,"docs":{"175":{"tf":1.0},"186":{"tf":1.0}}}},"o":{"df":1,"docs":{"264":{"tf":1.0}},"m":{"df":1,"docs":{"244":{"tf":1.0}}},"p":{"df":2,"docs":{"169":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":15,"docs":{"201":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.4142135623730951},"209":{"tf":2.23606797749979},"229":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"271":{"tf":1.0},"284":{"tf":1.0},"286":{"tf":1.4142135623730951},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"301":{"tf":1.0}}}}},"df":2,"docs":{"184":{"tf":1.0},"233":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"144":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"172":{"tf":1.0},"209":{"tf":1.0},"277":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"$":{"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"158":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"158":{"tf":1.0}}}}},"x":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":23,"docs":{"108":{"tf":1.7320508075688772},"122":{"tf":1.0},"13":{"tf":1.4142135623730951},"142":{"tf":1.0},"153":{"tf":1.4142135623730951},"154":{"tf":2.0},"161":{"tf":1.0},"207":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.4142135623730951},"234":{"tf":1.7320508075688772},"244":{"tf":2.23606797749979},"245":{"tf":1.0},"247":{"tf":1.0},"291":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"76":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"93":{"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":{"230":{"tf":1.0}}}}}},"s":{"df":1,"docs":{"169":{"tf":1.4142135623730951}}}}},"t":{"df":10,"docs":{"102":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"174":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"242":{"tf":1.0},"261":{"tf":1.0},"274":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":7,"docs":{"182":{"tf":2.0},"183":{"tf":1.4142135623730951},"184":{"tf":2.0},"213":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"3":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":13,"docs":{"106":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"20":{"tf":1.0},"204":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":1.0},"268":{"tf":1.0},"279":{"tf":1.0},"293":{"tf":1.0},"39":{"tf":1.0},"77":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.4142135623730951},"149":{"tf":1.0},"180":{"tf":1.0},"194":{"tf":1.4142135623730951},"196":{"tf":1.0},"198":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.4142135623730951},"230":{"tf":2.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.0},"254":{"tf":1.4142135623730951},"264":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":2.23606797749979},"291":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":2.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":4,"docs":{"190":{"tf":1.0},"225":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0}},"i":{"df":0,"docs":{},"z":{"df":3,"docs":{"264":{"tf":1.0},"274":{"tf":1.0},"275":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.7320508075688772},"278":{"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":{"180":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"180":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":10,"docs":{"109":{"tf":1.0},"149":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":2.8284271247461903},"181":{"tf":2.449489742783178},"183":{"tf":1.4142135623730951},"187":{"tf":1.0},"188":{"tf":1.0},"229":{"tf":1.0},"293":{"tf":1.7320508075688772}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"230":{"tf":1.0},"272":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":7,"docs":{"134":{"tf":1.0},"188":{"tf":1.0},"208":{"tf":1.0},"263":{"tf":1.4142135623730951},"288":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"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":{"150":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"209":{"tf":1.0},"247":{"tf":1.0}}}}},"df":42,"docs":{"101":{"tf":1.7320508075688772},"110":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":2.23606797749979},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"189":{"tf":1.7320508075688772},"199":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.4142135623730951},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"258":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":2.0},"267":{"tf":2.0},"269":{"tf":1.7320508075688772},"270":{"tf":2.23606797749979},"271":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":2.0},"280":{"tf":1.0},"282":{"tf":1.0},"288":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"147":{"tf":1.0},"149":{"tf":2.23606797749979},"180":{"tf":1.0},"183":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"198":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":112,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.4142135623730951},"248":{"tf":1.0},"257":{"tf":1.0},"263":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.7320508075688772},"279":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"68":{"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},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"142":{"tf":1.0},"147":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"223":{"tf":1.0},"233":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"271":{"tf":1.0},"281":{"tf":1.4142135623730951},"286":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"\"":{"/":{"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"241":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"184":{"tf":1.0},"200":{"tf":1.0},"227":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"68":{"tf":1.0}}}},"df":61,"docs":{"108":{"tf":1.4142135623730951},"127":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0},"177":{"tf":1.0},"186":{"tf":1.4142135623730951},"194":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":1.0},"226":{"tf":1.0},"238":{"tf":1.0},"247":{"tf":1.4142135623730951},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"274":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.7320508075688772}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.7320508075688772}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"114":{"tf":1.0},"160":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"205":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"264":{"tf":1.0}}},"o":{"a":{"d":{"df":2,"docs":{"167":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"278":{"tf":1.0},"279":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"279":{"tf":1.0}}}}},"df":2,"docs":{"170":{"tf":1.7320508075688772},"279":{"tf":2.8284271247461903}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"116":{"tf":1.4142135623730951},"124":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"222":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"242":{"tf":1.0}}}}}}}}}}},"p":{">":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"17":{"tf":1.0},"195":{"tf":1.0},"21":{"tf":1.0},"225":{"tf":2.23606797749979},"226":{"tf":2.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":1,"docs":{"300":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"263":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"189":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"i":{"c":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"102":{"tf":1.0},"288":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"79":{"tf":1.0},"90":{"tf":1.0}},"k":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":2,"docs":{"169":{"tf":1.0},"273":{"tf":1.0}}}}}},"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":{"231":{"tf":1.0}}}}}}}},"m":{"(":{"df":1,"docs":{"156":{"tf":1.0}}},"df":10,"docs":{"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"156":{"tf":1.0},"161":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"171":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"t":{"df":12,"docs":{"139":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.4142135623730951},"271":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"181":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":8,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":2.23606797749979},"220":{"tf":2.0},"255":{"tf":1.0},"257":{"tf":3.0},"258":{"tf":1.7320508075688772}},"e":{"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":{"283":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"299":{"tf":1.0}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"285":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"257":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":3,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"257":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"287":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"290":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":1,"docs":{"292":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"257":{"tf":1.7320508075688772}}}}},"t":{"df":4,"docs":{"189":{"tf":1.0},"299":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"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":{"130":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":24,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"169":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"186":{"tf":1.0},"198":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"226":{"tf":1.4142135623730951},"227":{"tf":1.0},"243":{"tf":1.0},"249":{"tf":1.0},"259":{"tf":1.0},"275":{"tf":1.0},"45":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"131":{"tf":1.0},"166":{"tf":1.0},"209":{"tf":1.0},"46":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"215":{"tf":1.0},"252":{"tf":1.0}},"t":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":28,"docs":{"116":{"tf":1.0},"124":{"tf":1.0},"139":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"160":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"189":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":2.0},"218":{"tf":1.7320508075688772},"219":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"240":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.0},"248":{"tf":1.7320508075688772},"251":{"tf":1.7320508075688772},"255":{"tf":1.0},"260":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"2":{"tf":1.0},"270":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"34":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"196":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"196":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":6,"docs":{"1":{"tf":1.4142135623730951},"153":{"tf":1.0},"169":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"255":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"215":{"tf":1.0}}},"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"297":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":27,"docs":{"107":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"215":{"tf":1.0},"233":{"tf":1.0},"244":{"tf":1.4142135623730951},"259":{"tf":1.0},"264":{"tf":1.4142135623730951},"267":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772},"279":{"tf":1.0},"280":{"tf":1.0},"297":{"tf":2.449489742783178},"66":{"tf":2.449489742783178},"67":{"tf":2.0},"68":{"tf":1.0},"69":{"tf":2.449489742783178},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"72":{"tf":2.449489742783178},"73":{"tf":2.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":9,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":3,"docs":{"145":{"tf":1.0},"207":{"tf":2.449489742783178},"279":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"65":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"230":{"tf":1.0},"274":{"tf":1.0}}}}},"r":{"df":1,"docs":{"231":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":16,"docs":{"109":{"tf":1.0},"160":{"tf":1.4142135623730951},"173":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":2.6457513110645907},"183":{"tf":1.4142135623730951},"184":{"tf":2.0},"213":{"tf":1.4142135623730951},"230":{"tf":1.7320508075688772},"242":{"tf":1.0},"252":{"tf":1.0},"257":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"201":{"tf":1.0},"208":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"242":{"tf":1.0},"288":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"224":{"tf":1.0},"70":{"tf":2.449489742783178}}}},"t":{"df":1,"docs":{"188":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"279":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"207":{"tf":2.0}}}}}},".":{"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":{"207":{"tf":1.4142135623730951}}}}},"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":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"\"":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"207":{"tf":1.7320508075688772}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"207":{"tf":2.449489742783178},"209":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"221":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"247":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"186":{"tf":1.0},"260":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"169":{"tf":1.4142135623730951}},"i":{"df":2,"docs":{"211":{"tf":1.0},"239":{"tf":1.0}}}}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"17":{"tf":1.0},"194":{"tf":1.0},"244":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"[":{"1":{"df":1,"docs":{"177":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":1,"docs":{"177":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"177":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"183":{"tf":1.0},"187":{"tf":1.0},"195":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"64":{"tf":3.4641016151377544},"65":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"64":{"tf":1.0},"65":{"tf":2.449489742783178}},"e":{"'":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":18,"docs":{"140":{"tf":1.0},"142":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.0},"211":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"243":{"tf":1.0},"281":{"tf":1.0},"29":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":19,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":9,"docs":{"178":{"tf":1.0},"198":{"tf":1.0},"220":{"tf":1.0},"243":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":1,"docs":{"279":{"tf":2.0}},"s":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.0}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"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":1,"docs":{"279":{"tf":1.4142135623730951}}}}},"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":{},"n":{"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":{"279":{"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"279":{"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":{}}}}}},"y":{"df":2,"docs":{"221":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"173":{"tf":1.0}}},"df":2,"docs":{"173":{"tf":1.0},"71":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":5,"docs":{"131":{"tf":1.0},"185":{"tf":1.0},"227":{"tf":1.0},"258":{"tf":1.0},"282":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"155":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"276":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"108":{"tf":1.0},"128":{"tf":1.0},"164":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"229":{"tf":1.4142135623730951},"232":{"tf":1.0},"252":{"tf":1.0},"264":{"tf":1.0},"280":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"215":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"173":{"tf":1.0},"184":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":1.0},"270":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":5,"docs":{"210":{"tf":2.6457513110645907},"212":{"tf":1.7320508075688772},"213":{"tf":1.7320508075688772},"221":{"tf":1.0},"257":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"230":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.0},"291":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"139":{"tf":1.4142135623730951},"288":{"tf":1.0},"291":{"tf":2.6457513110645907},"90":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":45,"docs":{"109":{"tf":1.0},"113":{"tf":1.0},"127":{"tf":1.7320508075688772},"134":{"tf":1.0},"140":{"tf":1.0},"151":{"tf":1.4142135623730951},"165":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"213":{"tf":1.0},"221":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"243":{"tf":1.0},"258":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"247":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":15,"docs":{"151":{"tf":1.0},"153":{"tf":1.4142135623730951},"172":{"tf":1.0},"187":{"tf":1.7320508075688772},"201":{"tf":1.0},"209":{"tf":1.0},"257":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.4142135623730951},"278":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":21,"docs":{"114":{"tf":1.0},"119":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"158":{"tf":1.0},"172":{"tf":1.0},"219":{"tf":1.0},"222":{"tf":1.4142135623730951},"229":{"tf":1.4142135623730951},"237":{"tf":1.0},"244":{"tf":1.0},"263":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"275":{"tf":1.0},"280":{"tf":1.0},"39":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":8,"docs":{"152":{"tf":1.0},"161":{"tf":1.0},"242":{"tf":1.0},"271":{"tf":1.0},"274":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"139":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"d":{"(":{"a":{"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"248":{"tf":1.0}}}},"df":5,"docs":{"156":{"tf":1.0},"247":{"tf":2.23606797749979},"248":{"tf":1.7320508075688772},"289":{"tf":1.0},"291":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"284":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":3,"docs":{"104":{"tf":1.0},"254":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"206":{"tf":1.0},"274":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"x":{"df":3,"docs":{"220":{"tf":1.0},"270":{"tf":1.0},"48":{"tf":1.7320508075688772}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"235":{"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":9,"docs":{"125":{"tf":1.4142135623730951},"131":{"tf":1.0},"17":{"tf":1.0},"228":{"tf":1.0},"267":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.7320508075688772},"298":{"tf":2.0},"95":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"110":{"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":{"193":{"tf":1.0},"195":{"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":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"171":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"193":{"tf":1.0}},"o":{"df":0,"docs":{},"o":{"(":{"1":{"2":{"3":{"4":{"df":1,"docs":{"171":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"192":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"171":{"tf":1.0},"172":{"tf":1.0},"194":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"(":{"\"":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"2":{"3":{"4":{"df":1,"docs":{"172":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"v":{"df":1,"docs":{"64":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"124":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"211":{"tf":1.4142135623730951},"237":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"240":{"tf":1.0},"242":{"tf":1.0},"246":{"tf":1.0},"269":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":20,"docs":{"153":{"tf":1.0},"158":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"187":{"tf":1.0},"198":{"tf":1.0},"228":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.0},"293":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"80":{"tf":1.0},"91":{"tf":1.0}},"s":{"df":5,"docs":{"196":{"tf":1.0},"207":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.0},"293":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"124":{"tf":1.0},"211":{"tf":1.0},"237":{"tf":1.0},"65":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"180":{"tf":1.0},"36":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"119":{"tf":1.0},"45":{"tf":2.6457513110645907}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"107":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"\"":{"(":{"1":{"df":1,"docs":{"73":{"tf":2.0}}},"_":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"69":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"187":{"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":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"180":{"tf":1.0},"84":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"72":{"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":{"178":{"tf":1.0},"180":{"tf":1.0},"84":{"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":{"184":{"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":{"180":{"tf":1.4142135623730951},"181":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}},"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":{"69":{"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":{"184":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"180":{"tf":1.0}}},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"215":{"tf":1.0}}}}},"f":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}},"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":{},"o":{"(":{"\\":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"75":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"108":{"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":{"184":{"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":4,"docs":{"219":{"tf":1.0},"263":{"tf":1.0},"29":{"tf":1.0},"8":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"149":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":2,"docs":{"152":{"tf":1.7320508075688772},"162":{"tf":1.0}}}}},"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":{"108":{"tf":1.0}}}}}}}}}},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"71":{"tf":1.0},"96":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}}}},"y":{"df":1,"docs":{"58":{"tf":1.0}}}}},"l":{"1":{"df":1,"docs":{"187":{"tf":1.0}}},"2":{"df":1,"docs":{"187":{"tf":1.7320508075688772}}},"df":1,"docs":{"178":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"212":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"184":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"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":{"180":{"tf":1.4142135623730951},"181":{"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":{"70":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.7320508075688772}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"s":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"172":{"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":{},"r":{"df":0,"docs":{},"v":{"df":4,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.0}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}},"{":{"df":1,"docs":{"142":{"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":{"109":{"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":{"64":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"k":{"df":2,"docs":{"97":{"tf":1.0},"98":{"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":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"1":{"0":{"df":2,"docs":{"94":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"94":{"tf":1.0}}},"a":{"d":{"d":{"(":{"1":{"0":{"df":1,"docs":{"141":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"139":{"tf":1.0}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.0},"279":{"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":{}}}},"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":{"138":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"138":{"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":{"150":{"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":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"179":{"tf":1.4142135623730951},"183":{"tf":1.0},"186":{"tf":1.0}}}}}},"df":8,"docs":{"47":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0}},"f":{"df":2,"docs":{"121":{"tf":1.0},"122":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"233":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}}},"i":{"1":{"df":1,"docs":{"117":{"tf":1.0}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"3":{"df":1,"docs":{"117":{"tf":1.0}}},"df":3,"docs":{"52":{"tf":1.0},"53":{"tf":1.0},"54":{"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":{"80":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"[":{"0":{"df":1,"docs":{"88":{"tf":1.0}}},"1":{"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}},"6":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":4,"docs":{"281":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"87":{"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":{"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"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":{"146":{"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":{"99":{"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":{"125":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"127":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"228":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"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":{"150":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"103":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.4142135623730951}},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}},"x":{"df":1,"docs":{"105":{"tf":1.0}}}},"df":2,"docs":{"104":{"tf":1.0},"106":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"o":{"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":{"158":{"tf":1.0}}}}}}}},"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":{}},"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":{"179":{"tf":1.4142135623730951},"183":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"207":{"tf":2.449489742783178}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"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":2,"docs":{"164":{"tf":1.4142135623730951},"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":{}}},"df":1,"docs":{"248":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"168":{"tf":1.0}},"t":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"257":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":{"158":{"tf":1.0}}},"df":0,"docs":{}},"1":{".":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"155":{"tf":1.0}}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"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":{"124":{"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":{"124":{"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":{"116":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"115":{"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":{"155":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":1.0},"129":{"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":{"177":{"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":{"175":{"tf":1.0}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"x":{"df":2,"docs":{"139":{"tf":1.0},"145":{"tf":1.0}}}},"df":11,"docs":{"110":{"tf":1.4142135623730951},"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"193":{"tf":1.0},"212":{"tf":1.0},"27":{"tf":1.4142135623730951},"272":{"tf":1.0},"34":{"tf":1.4142135623730951},"51":{"tf":1.0},"64":{"tf":1.0},"83":{"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":{"72":{"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":{"72":{"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":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"2":{"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":{}}}}},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"112":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"270":{"tf":1.0},"274":{"tf":2.0},"276":{"tf":1.4142135623730951},"277":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"75":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"274":{"tf":1.0},"36":{"tf":1.0},"59":{"tf":1.0}},"y":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"295":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"<":{"df":1,"docs":{"295":{"tf":1.0}},"t":{"df":1,"docs":{"295":{"tf":2.8284271247461903}}}},"df":0,"docs":{}}}}}}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"170":{"tf":1.7320508075688772},"195":{"tf":1.0},"223":{"tf":2.23606797749979},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"161":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"187":{"tf":1.0}}}},"df":12,"docs":{"124":{"tf":1.0},"126":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0},"64":{"tf":1.0},"73":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":69,"docs":{"127":{"tf":1.4142135623730951},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"138":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"140":{"tf":2.0},"141":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"144":{"tf":2.0},"145":{"tf":1.0},"146":{"tf":2.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":2.0},"156":{"tf":1.7320508075688772},"159":{"tf":1.7320508075688772},"160":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"164":{"tf":1.7320508075688772},"167":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":2.23606797749979},"177":{"tf":2.23606797749979},"188":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":3.3166247903554},"206":{"tf":2.0},"207":{"tf":1.4142135623730951},"210":{"tf":1.0},"211":{"tf":1.0},"221":{"tf":1.0},"229":{"tf":1.0},"231":{"tf":2.449489742783178},"232":{"tf":2.449489742783178},"233":{"tf":3.0},"234":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":2.0},"239":{"tf":2.8284271247461903},"240":{"tf":2.0},"243":{"tf":1.0},"244":{"tf":2.0},"245":{"tf":2.0},"246":{"tf":3.0},"247":{"tf":1.7320508075688772},"248":{"tf":2.8284271247461903},"249":{"tf":2.0},"250":{"tf":1.4142135623730951},"251":{"tf":1.7320508075688772},"255":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.7320508075688772},"48":{"tf":1.0},"65":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"139":{"tf":1.0},"156":{"tf":1.0},"176":{"tf":1.0},"244":{"tf":1.0}}},"(":{"df":1,"docs":{"199":{"tf":1.0}}},"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"228":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"10":{"tf":1.0},"189":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"256":{"tf":1.4142135623730951},"260":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.0},"293":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"219":{"tf":1.0}},"u":{"c":{"df":7,"docs":{"164":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.4142135623730951},"272":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0},"80":{"tf":1.0}},"t":{"df":2,"docs":{"244":{"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":{"231":{"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":{"231":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":4,"docs":{"219":{"tf":1.0},"220":{"tf":1.0},"260":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":110,"docs":{"101":{"tf":1.0},"107":{"tf":1.4142135623730951},"11":{"tf":1.0},"119":{"tf":1.4142135623730951},"131":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"15":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"173":{"tf":1.0},"189":{"tf":1.7320508075688772},"190":{"tf":1.4142135623730951},"194":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.7320508075688772},"199":{"tf":1.0},"200":{"tf":1.0},"206":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"211":{"tf":1.0},"212":{"tf":1.0},"215":{"tf":1.7320508075688772},"216":{"tf":1.0},"217":{"tf":2.23606797749979},"218":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"222":{"tf":1.4142135623730951},"23":{"tf":1.0},"230":{"tf":2.449489742783178},"231":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"24":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":2.8284271247461903},"257":{"tf":1.0},"259":{"tf":1.4142135623730951},"26":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":3.0},"264":{"tf":2.0},"267":{"tf":1.0},"27":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":2.0},"281":{"tf":1.0},"284":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.4142135623730951},"300":{"tf":1.0},"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.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"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.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":2.0},"80":{"tf":1.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"221":{"tf":1.0},"229":{"tf":1.0},"259":{"tf":1.0}}}},"df":11,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.0},"269":{"tf":1.0},"270":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"247":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"159":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":1.4142135623730951},"248":{"tf":1.0},"249":{"tf":1.0},"274":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":25,"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},"19":{"tf":1.0},"190":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"215":{"tf":1.0},"22":{"tf":1.0},"227":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"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":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"226":{"tf":1.0},"227":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"254":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":3,"docs":{"107":{"tf":1.0},"116":{"tf":1.0},"209":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":2.6457513110645907},"154":{"tf":1.4142135623730951},"288":{"tf":1.0},"293":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"280":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"207":{"tf":1.4142135623730951}}},"i":{"d":{"df":73,"docs":{"1":{"tf":1.4142135623730951},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.7320508075688772},"143":{"tf":2.0},"152":{"tf":1.7320508075688772},"154":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"203":{"tf":1.4142135623730951},"204":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"210":{"tf":2.449489742783178},"212":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":2.0},"215":{"tf":1.7320508075688772},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.4142135623730951},"222":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"236":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.7320508075688772},"263":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.4142135623730951},"275":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.4142135623730951},"281":{"tf":1.0},"284":{"tf":1.4142135623730951},"288":{"tf":2.23606797749979},"291":{"tf":1.0},"293":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.4142135623730951},"297":{"tf":1.0},"298":{"tf":1.7320508075688772},"3":{"tf":1.0},"301":{"tf":1.0},"39":{"tf":1.0},"48":{"tf":1.7320508075688772},"76":{"tf":1.0},"82":{"tf":1.0},"86":{"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":{"235":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"235":{"tf":1.4142135623730951}}}}}},"t":{"df":1,"docs":{"288":{"tf":1.0}}},"v":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"145":{"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":{"203":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"288":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"222":{"tf":1.0}}}}}}},"df":6,"docs":{"170":{"tf":3.0},"172":{"tf":1.4142135623730951},"194":{"tf":1.0},"221":{"tf":1.4142135623730951},"227":{"tf":2.0},"228":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"192":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"12":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.4142135623730951},"243":{"tf":1.0},"271":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":13,"docs":{"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"122":{"tf":1.0},"140":{"tf":1.0},"166":{"tf":1.0},"205":{"tf":1.0},"243":{"tf":1.0},"257":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"82":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"220":{"tf":1.0}}}},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"_":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":6,"docs":{"156":{"tf":1.4142135623730951},"186":{"tf":1.0},"226":{"tf":1.0},"232":{"tf":1.0},"263":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"76":{"tf":1.0}}},"df":10,"docs":{"131":{"tf":1.0},"147":{"tf":1.0},"198":{"tf":1.0},"263":{"tf":1.4142135623730951},"268":{"tf":1.0},"50":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.0},"87":{"tf":1.4142135623730951},"94":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"271":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"80":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"235":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.0},"183":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"244":{"tf":1.0}},"e":{"df":1,"docs":{"284":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"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":{"177":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":16,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"211":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":2.8284271247461903},"238":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":2.0},"241":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.0},"288":{"tf":1.0},"3":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"189":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}},"m":{"df":1,"docs":{"244":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"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":{"(":{"0":{"df":1,"docs":{"153":{"tf":1.0}}},"1":{"df":5,"docs":{"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.0}}},"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":{"137":{"tf":1.0},"139":{"tf":1.0},"177":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"153":{"tf":1.4142135623730951},"186":{"tf":1.0},"51":{"tf":1.4142135623730951}}}}}},"df":7,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"152":{"tf":1.4142135623730951},"48":{"tf":1.0},"60":{"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":2,"docs":{"153":{"tf":1.0},"186":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"$":{"<":{"c":{"df":2,"docs":{"164":{"tf":1.0},"165":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"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":{"162":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":3,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"<":{"c":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"296":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}},"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":{"296":{"tf":2.8284271247461903}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"212":{"tf":1.0}},"g":{"df":4,"docs":{"101":{"tf":1.0},"222":{"tf":1.0},"258":{"tf":1.0},"280":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"174":{"tf":1.7320508075688772},"226":{"tf":1.0}}}},"w":{"df":3,"docs":{"205":{"tf":1.4142135623730951},"206":{"tf":1.0},"234":{"tf":1.0}},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"299":{"tf":1.0}}}}}}}},"df":10,"docs":{"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":2.6457513110645907},"51":{"tf":2.8284271247461903},"60":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"244":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"df":8,"docs":{"109":{"tf":1.0},"154":{"tf":1.0},"185":{"tf":1.0},"244":{"tf":1.0},"247":{"tf":1.0},"258":{"tf":1.0},"282":{"tf":1.0},"7":{"tf":1.0}}}},"d":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"286":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"230":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.4142135623730951},"232":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":35,"docs":{"142":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"189":{"tf":1.7320508075688772},"206":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.7320508075688772},"222":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.0},"241":{"tf":1.0},"247":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"267":{"tf":1.4142135623730951},"27":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"286":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"77":{"tf":1.4142135623730951},"80":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"131":{"tf":1.0},"93":{"tf":1.0}}}},"i":{"df":6,"docs":{"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":1.7320508075688772},"244":{"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"286":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":1,"docs":{"162":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"215":{"tf":1.0},"232":{"tf":1.0}}}},"z":{"df":2,"docs":{"147":{"tf":1.0},"155":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"156":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":1.0},"233":{"tf":1.0},"245":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.4142135623730951},"288":{"tf":1.0},"48":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":12,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"165":{"tf":1.0},"189":{"tf":1.0},"199":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.4142135623730951},"274":{"tf":1.0},"288":{"tf":1.0},"48":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":7,"docs":{"160":{"tf":1.0},"206":{"tf":1.0},"233":{"tf":1.4142135623730951},"238":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":10,"docs":{"10":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.4142135623730951},"224":{"tf":1.0},"247":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"274":{"tf":1.0},"282":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"215":{"tf":1.0}}}}}}}},"r":{"d":{"df":10,"docs":{"11":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"tf":1.4142135623730951},"293":{"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":{"249":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"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":{"72":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"128":{"tf":2.23606797749979},"129":{"tf":1.7320508075688772},"130":{"tf":3.3166247903554},"186":{"tf":3.0},"187":{"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":{"231":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":5,"docs":{"111":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"51":{"tf":1.0},"74":{"tf":2.0}},"u":{"c":{"df":3,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"155":{"tf":1.4142135623730951}},"e":{"(":{"[":{"1":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"a":{"df":2,"docs":{"155":{"tf":1.4142135623730951},"289":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":9,"docs":{"114":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.7320508075688772},"240":{"tf":1.7320508075688772},"247":{"tf":1.7320508075688772},"248":{"tf":1.0},"297":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"272":{"tf":1.0},"277":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"298":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":34,"docs":{"110":{"tf":1.0},"117":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.0},"146":{"tf":2.0},"147":{"tf":1.7320508075688772},"16":{"tf":1.0},"161":{"tf":1.0},"17":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":3.1622776601683795},"19":{"tf":1.0},"20":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"219":{"tf":1.4142135623730951},"23":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.0},"241":{"tf":1.0},"25":{"tf":1.0},"251":{"tf":2.0},"266":{"tf":1.0},"273":{"tf":1.4142135623730951},"291":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.4142135623730951},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":14,"docs":{"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"147":{"tf":1.0},"150":{"tf":1.0},"183":{"tf":1.0},"211":{"tf":1.4142135623730951},"215":{"tf":1.0},"25":{"tf":1.0},"266":{"tf":1.4142135623730951},"267":{"tf":1.4142135623730951},"269":{"tf":1.0},"270":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"131":{"tf":1.0},"264":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"162":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"249":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"230":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"300":{"tf":2.23606797749979}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"300":{"tf":1.0}}}},"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":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"220":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"174":{"tf":1.0},"231":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"205":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"108":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.4142135623730951},"159":{"tf":1.0},"173":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.23606797749979},"214":{"tf":1.0},"220":{"tf":1.0},"74":{"tf":1.0}},"e":{"d":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"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":{"206":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"149":{"tf":1.0},"17":{"tf":1.0},"222":{"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":8,"docs":{"107":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"231":{"tf":1.0},"264":{"tf":1.0}}}}}}}}}}},"df":6,"docs":{"257":{"tf":1.0},"259":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":9,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"194":{"tf":1.0},"48":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"260":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"110":{"tf":1.0},"158":{"tf":1.0},"180":{"tf":1.0},"230":{"tf":1.0}}},"o":{"a":{"d":{"df":1,"docs":{"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"154":{"tf":1.0},"230":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0}}}},"p":{"df":1,"docs":{"293":{"tf":1.0}},"p":{"df":1,"docs":{"293":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":4,"docs":{"226":{"tf":1.0},"239":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"272":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"269":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}},"v":{"df":4,"docs":{"262":{"tf":1.0},"291":{"tf":3.0},"293":{"tf":3.0},"298":{"tf":2.8284271247461903}},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":3.0}}}}}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"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":{},"f":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"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":{}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":2.0}}}},"df":1,"docs":{"173":{"tf":1.4142135623730951}},"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":{"110":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"110":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"110":{"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":{"235":{"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":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"299":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"125":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"184":{"tf":1.0},"269":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"63":{"tf":4.47213595499958}},"e":{"d":{"(":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"272":{"tf":1.0}}}}}},"l":{"a":{"c":{"df":6,"docs":{"261":{"tf":1.0},"262":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":2.449489742783178},"300":{"tf":1.7320508075688772},"66":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":19,"docs":{"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":46,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"119":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"147":{"tf":1.0},"152":{"tf":1.0},"173":{"tf":1.0},"183":{"tf":1.0},"206":{"tf":1.0},"209":{"tf":1.0},"214":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"25":{"tf":1.0},"255":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"272":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":2.449489742783178},"209":{"tf":3.1622776601683795},"286":{"tf":1.0},"301":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"260":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"q":{"df":2,"docs":{"209":{"tf":1.0},"221":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"176":{"tf":1.0},"177":{"tf":1.0},"180":{"tf":1.4142135623730951},"221":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":2.0},"244":{"tf":3.0},"254":{"tf":1.0},"255":{"tf":2.6457513110645907},"256":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":44,"docs":{"10":{"tf":1.4142135623730951},"102":{"tf":1.7320508075688772},"115":{"tf":1.0},"119":{"tf":1.0},"127":{"tf":1.4142135623730951},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"145":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":2.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.23606797749979},"160":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"199":{"tf":1.0},"204":{"tf":1.4142135623730951},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"238":{"tf":1.4142135623730951},"239":{"tf":1.0},"255":{"tf":1.0},"266":{"tf":1.0},"271":{"tf":1.0},"281":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"83":{"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":{"177":{"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":{"156":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{"df":3,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"272":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.0},"169":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"221":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"93":{"tf":1.0}}}},"v":{"df":7,"docs":{"177":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"21":{"tf":1.0},"244":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"171":{"tf":1.0},"173":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":14,"docs":{"189":{"tf":3.1622776601683795},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"23":{"tf":1.0},"231":{"tf":1.0},"25":{"tf":1.7320508075688772},"257":{"tf":1.0},"26":{"tf":1.0},"261":{"tf":1.0},"27":{"tf":1.0},"286":{"tf":2.23606797749979},"30":{"tf":1.0},"37":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}}}}}}}},"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}}}}}}},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"234":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":4,"docs":{"221":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.0},"255":{"tf":1.0}},"e":{":":{"\\":{"df":0,"docs":{},"n":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"231":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":20,"docs":{"103":{"tf":1.0},"137":{"tf":1.0},"147":{"tf":1.7320508075688772},"148":{"tf":1.7320508075688772},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"156":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"188":{"tf":2.0},"209":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":2.23606797749979},"243":{"tf":2.0},"249":{"tf":1.0},"251":{"tf":1.0},"69":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":27,"docs":{"131":{"tf":1.0},"154":{"tf":2.0},"156":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0},"182":{"tf":1.0},"196":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.7320508075688772},"234":{"tf":1.0},"240":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951},"249":{"tf":1.0},"255":{"tf":1.0},"264":{"tf":1.0},"288":{"tf":2.23606797749979},"291":{"tf":2.6457513110645907},"293":{"tf":1.7320508075688772},"298":{"tf":2.449489742783178},"299":{"tf":1.0},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"298":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":66,"docs":{"110":{"tf":1.4142135623730951},"115":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"138":{"tf":2.6457513110645907},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":2.6457513110645907},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"158":{"tf":1.4142135623730951},"161":{"tf":2.23606797749979},"162":{"tf":2.449489742783178},"163":{"tf":1.7320508075688772},"164":{"tf":3.0},"165":{"tf":3.605551275463989},"166":{"tf":1.0},"168":{"tf":1.7320508075688772},"170":{"tf":2.0},"171":{"tf":1.7320508075688772},"175":{"tf":3.0},"176":{"tf":2.23606797749979},"177":{"tf":2.449489742783178},"180":{"tf":1.7320508075688772},"184":{"tf":1.0},"186":{"tf":2.449489742783178},"188":{"tf":1.0},"193":{"tf":1.4142135623730951},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"219":{"tf":2.0},"221":{"tf":1.4142135623730951},"235":{"tf":2.0},"242":{"tf":1.0},"244":{"tf":1.4142135623730951},"245":{"tf":1.0},"248":{"tf":1.7320508075688772},"255":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":1.7320508075688772},"279":{"tf":1.7320508075688772},"288":{"tf":4.123105625617661},"291":{"tf":4.242640687119285},"293":{"tf":6.082762530298219},"298":{"tf":4.0},"35":{"tf":1.0},"48":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772},"90":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"190":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"271":{"tf":1.0}}}},"df":0,"docs":{}},"df":24,"docs":{"140":{"tf":1.0},"158":{"tf":1.4142135623730951},"196":{"tf":1.0},"242":{"tf":1.0},"247":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":2.23606797749979},"265":{"tf":2.0},"266":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.7320508075688772},"271":{"tf":1.4142135623730951},"272":{"tf":2.0},"273":{"tf":2.23606797749979},"274":{"tf":1.7320508075688772},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"6":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"269":{"tf":1.0}}}}}}}}}},"h":{"df":7,"docs":{"134":{"tf":1.4142135623730951},"135":{"tf":2.0},"145":{"tf":1.4142135623730951},"156":{"tf":1.0},"158":{"tf":1.7320508075688772},"192":{"tf":1.4142135623730951},"193":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":10,"docs":{"128":{"tf":2.8284271247461903},"129":{"tf":2.6457513110645907},"130":{"tf":1.0},"154":{"tf":1.0},"179":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"204":{"tf":1.0},"252":{"tf":1.0},"268":{"tf":1.0},"291":{"tf":1.4142135623730951}}}},"i":{"d":{"df":1,"docs":{"277":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"208":{"tf":1.0},"226":{"tf":1.0},"244":{"tf":1.0},"272":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"153":{"tf":2.0},"51":{"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":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"280":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":13,"docs":{"128":{"tf":1.0},"16":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.4142135623730951},"235":{"tf":1.4142135623730951},"239":{"tf":1.0},"24":{"tf":1.0},"240":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.4142135623730951},"25":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"n":{"d":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":1,"docs":{"82":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"167":{"tf":1.0},"255":{"tf":1.0},"65":{"tf":1.0}}}},"w":{"df":2,"docs":{"126":{"tf":1.0},"83":{"tf":2.6457513110645907}}}},"p":{"c":{"df":2,"docs":{"221":{"tf":1.0},"235":{"tf":1.0}}},"df":0,"docs":{}},"u":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":11,"docs":{"18":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"208":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"93":{"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":33,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"147":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.4142135623730951},"196":{"tf":1.0},"215":{"tf":2.0},"216":{"tf":1.0},"217":{"tf":2.23606797749979},"22":{"tf":1.0},"221":{"tf":1.0},"225":{"tf":1.0},"230":{"tf":1.4142135623730951},"231":{"tf":2.23606797749979},"233":{"tf":1.4142135623730951},"234":{"tf":1.4142135623730951},"235":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":2.0},"255":{"tf":1.0},"261":{"tf":1.0},"262":{"tf":1.0},"288":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"50":{"tf":1.0},"65":{"tf":1.0},"81":{"tf":1.0},"9":{"tf":1.0}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":29,"docs":{"102":{"tf":2.23606797749979},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"137":{"tf":1.7320508075688772},"160":{"tf":1.7320508075688772},"167":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.7320508075688772},"175":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.0},"189":{"tf":1.0},"2":{"tf":1.0},"213":{"tf":1.0},"215":{"tf":1.0},"219":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"261":{"tf":1.0},"291":{"tf":1.4142135623730951},"300":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"242":{"tf":1.0},"247":{"tf":1.0},"248":{"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":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"151":{"tf":1.0}}}}}},"s":{"/":{"\\":{"\"":{"/":{"\\":{"\\":{"\\":{"\\":{"\\":{"\"":{"/":{"df":0,"docs":{},"g":{"df":1,"docs":{"262":{"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":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"300":{"tf":1.4142135623730951}}}}}}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":15,"docs":{"137":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"209":{"tf":1.0},"231":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":2.0},"243":{"tf":1.7320508075688772},"244":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"297":{"tf":1.0},"300":{"tf":1.0},"90":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":2,"docs":{"152":{"tf":1.4142135623730951},"153":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}},"r":{"df":4,"docs":{"101":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"177":{"tf":1.0}}},"2":{"df":1,"docs":{"175":{"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":1,"docs":{"175":{"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":{"175":{"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":{"175":{"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":{"175":{"tf":1.7320508075688772},"177":{"tf":1.0}}}}},"t":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"239":{"tf":1.0},"243":{"tf":1.0},"86":{"tf":1.7320508075688772},"90":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":7,"docs":{"131":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.4142135623730951},"185":{"tf":1.0},"199":{"tf":1.0},"279":{"tf":1.0},"48":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":42,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"157":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"183":{"tf":1.0},"187":{"tf":1.7320508075688772},"201":{"tf":1.0},"203":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"215":{"tf":1.0},"223":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.0},"243":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.4142135623730951},"279":{"tf":1.0},"288":{"tf":1.7320508075688772},"291":{"tf":1.0},"34":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"87":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"263":{"tf":1.4142135623730951}}}}},"r":{"a":{"df":0,"docs":{},"h":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":7,"docs":{"173":{"tf":1.0},"193":{"tf":1.4142135623730951},"206":{"tf":1.0},"235":{"tf":1.0},"273":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.0}}}}}}},"w":{"df":1,"docs":{"274":{"tf":1.0}}},"y":{"df":1,"docs":{"156":{"tf":1.0}}}},"b":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}},"df":2,"docs":{"110":{"tf":2.23606797749979},"170":{"tf":1.0}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"=":{"1":{".":{"0":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"244":{"tf":1.0},"6":{"tf":1.4142135623730951}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"297":{"tf":5.196152422706632}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":8,"docs":{"211":{"tf":1.0},"231":{"tf":2.23606797749979},"233":{"tf":1.0},"236":{"tf":1.0},"244":{"tf":2.0},"255":{"tf":1.0},"288":{"tf":1.7320508075688772},"3":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{">":{"(":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"257":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"102":{"tf":1.0},"112":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":2.23606797749979},"214":{"tf":1.4142135623730951},"250":{"tf":1.0},"69":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"262":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.4142135623730951},"32":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":14,"docs":{"155":{"tf":1.0},"243":{"tf":1.0},"27":{"tf":1.0},"300":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"51":{"tf":3.3166247903554},"52":{"tf":2.449489742783178},"60":{"tf":2.0},"65":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"165":{"tf":1.0},"172":{"tf":1.4142135623730951},"184":{"tf":2.23606797749979},"291":{"tf":2.449489742783178},"298":{"tf":2.449489742783178}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}}},"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":{"184":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"184":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"279":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"229":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":39,"docs":{"110":{"tf":1.0},"119":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"198":{"tf":1.4142135623730951},"201":{"tf":1.0},"228":{"tf":1.4142135623730951},"236":{"tf":1.0},"241":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.4142135623730951},"264":{"tf":1.0},"265":{"tf":1.0},"271":{"tf":1.4142135623730951},"272":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.7320508075688772},"277":{"tf":2.0},"278":{"tf":1.0},"279":{"tf":1.7320508075688772},"28":{"tf":1.0},"280":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"67":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":28,"docs":{"101":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"17":{"tf":1.0},"173":{"tf":2.0},"184":{"tf":1.0},"19":{"tf":1.0},"194":{"tf":1.0},"20":{"tf":1.0},"229":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"233":{"tf":1.0},"255":{"tf":1.4142135623730951},"263":{"tf":1.4142135623730951},"284":{"tf":1.0},"291":{"tf":1.0},"296":{"tf":1.0},"77":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.0}},"k":{"df":1,"docs":{"259":{"tf":1.0}}},"m":{"df":6,"docs":{"150":{"tf":1.0},"172":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"215":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"210":{"tf":1.0}}}}}}}},"n":{"df":10,"docs":{"131":{"tf":1.0},"156":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"198":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"275":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":7,"docs":{"115":{"tf":1.0},"128":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.0},"151":{"tf":1.0},"33":{"tf":1.0},"93":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":14,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"150":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.7320508075688772},"207":{"tf":2.449489742783178},"73":{"tf":1.0},"78":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":4,"docs":{"209":{"tf":1.0},"221":{"tf":1.7320508075688772},"235":{"tf":1.4142135623730951},"256":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":6,"docs":{"150":{"tf":1.0},"184":{"tf":1.0},"230":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"278":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"209":{"tf":1.4142135623730951}}}}},"t":{"df":1,"docs":{"221":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":10,"docs":{"165":{"tf":1.0},"198":{"tf":1.7320508075688772},"228":{"tf":1.0},"25":{"tf":1.0},"261":{"tf":1.0},"270":{"tf":1.0},"288":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"189":{"tf":1.0},"263":{"tf":1.4142135623730951},"45":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"230":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"234":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":3,"docs":{"255":{"tf":1.0},"261":{"tf":1.0},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"213":{"tf":1.0}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.0},"257":{"tf":1.0}}}}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"210":{"tf":1.4142135623730951},"213":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"210":{"tf":1.7320508075688772},"212":{"tf":1.0},"213":{"tf":1.0},"257":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":4,"docs":{"210":{"tf":2.0},"212":{"tf":1.4142135623730951},"213":{"tf":1.4142135623730951},"257":{"tf":1.4142135623730951}}}}}}}},"df":12,"docs":{"210":{"tf":2.449489742783178},"212":{"tf":2.0},"213":{"tf":1.4142135623730951},"221":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":2.449489742783178},"252":{"tf":3.1622776601683795},"253":{"tf":1.0},"254":{"tf":2.23606797749979},"255":{"tf":1.4142135623730951},"256":{"tf":2.8284271247461903},"257":{"tf":1.7320508075688772}}}},"i":{"c":{"df":12,"docs":{"215":{"tf":1.4142135623730951},"221":{"tf":2.8284271247461903},"230":{"tf":1.0},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":2.0},"253":{"tf":2.0},"254":{"tf":1.0},"255":{"tf":2.0},"256":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951}},"e":{"'":{"df":2,"docs":{"255":{"tf":1.0},"261":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"207":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":31,"docs":{"107":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"181":{"tf":1.0},"184":{"tf":1.0},"191":{"tf":1.0},"194":{"tf":1.0},"215":{"tf":1.4142135623730951},"216":{"tf":1.7320508075688772},"219":{"tf":1.4142135623730951},"224":{"tf":1.0},"228":{"tf":1.0},"242":{"tf":1.0},"252":{"tf":1.0},"276":{"tf":1.0},"28":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":3.7416573867739413},"298":{"tf":6.782329983125268},"45":{"tf":1.0},"57":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":2.23606797749979},"82":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":2.449489742783178},"95":{"tf":3.1622776601683795}},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":1,"docs":{"95":{"tf":1.0}}},"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"11":{"tf":1.0},"266":{"tf":1.0},"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"187":{"tf":2.0},"202":{"tf":1.0},"45":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"149":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"85":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":18,"docs":{"140":{"tf":1.0},"183":{"tf":1.4142135623730951},"187":{"tf":3.0},"211":{"tf":1.0},"221":{"tf":1.0},"230":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.7320508075688772},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"243":{"tf":1.7320508075688772},"266":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.0},"274":{"tf":2.23606797749979},"276":{"tf":1.0},"277":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}},"p":{"df":1,"docs":{"173":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"117":{"tf":1.0},"203":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":5,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"274":{"tf":1.4142135623730951},"33":{"tf":1.0},"93":{"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":{"142":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"142":{"tf":1.0}}},"df":2,"docs":{"231":{"tf":2.23606797749979},"45":{"tf":1.0}},"n":{"df":2,"docs":{"115":{"tf":1.0},"156":{"tf":1.0}}},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"231":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"142":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"153":{"tf":1.0},"256":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":22,"docs":{"127":{"tf":1.0},"134":{"tf":1.7320508075688772},"135":{"tf":1.0},"151":{"tf":1.4142135623730951},"156":{"tf":2.449489742783178},"159":{"tf":1.0},"167":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":3.0},"210":{"tf":1.0},"247":{"tf":1.7320508075688772},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"255":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"36":{"tf":1.0},"91":{"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":3,"docs":{"231":{"tf":1.0},"252":{"tf":1.0},"77":{"tf":1.0}}}}}}},"df":9,"docs":{"182":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.7320508075688772},"230":{"tf":1.0},"259":{"tf":1.0},"268":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"104":{"tf":1.0},"157":{"tf":1.0},"269":{"tf":1.7320508075688772},"270":{"tf":1.4142135623730951},"278":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"189":{"tf":1.0},"279":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":31,"docs":{"1":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"118":{"tf":1.0},"128":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.0},"189":{"tf":1.0},"201":{"tf":1.0},"205":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"215":{"tf":1.0},"219":{"tf":1.0},"221":{"tf":1.0},"232":{"tf":1.0},"253":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.4142135623730951},"29":{"tf":1.0},"299":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"172":{"tf":1.0},"189":{"tf":1.0},"293":{"tf":1.0},"80":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}}}}},"i":{"df":44,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"172":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"193":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"206":{"tf":1.4142135623730951},"208":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"244":{"tf":1.7320508075688772},"249":{"tf":1.0},"255":{"tf":1.0},"263":{"tf":2.0},"266":{"tf":1.0},"274":{"tf":1.0},"278":{"tf":1.0},"284":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"30":{"tf":1.0},"300":{"tf":1.0},"66":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"93":{"tf":1.0}},"f":{"df":1,"docs":{"160":{"tf":1.0}},"i":{"df":4,"docs":{"157":{"tf":1.0},"48":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"180":{"tf":1.0},"201":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":44,"docs":{"129":{"tf":1.0},"140":{"tf":1.4142135623730951},"150":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"170":{"tf":1.4142135623730951},"187":{"tf":2.0},"193":{"tf":1.0},"2":{"tf":1.0},"212":{"tf":1.0},"221":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.4142135623730951},"232":{"tf":1.0},"237":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.4142135623730951},"262":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"214":{"tf":1.0}}}}}}}},"k":{"df":1,"docs":{"65":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"261":{"tf":1.0},"263":{"tf":1.0}}},"df":3,"docs":{"156":{"tf":1.0},"175":{"tf":1.0},"263":{"tf":2.449489742783178}}},"u":{"a":{"df":0,"docs":{},"t":{"df":16,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":2.0},"138":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"225":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"270":{"tf":1.0},"272":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"75":{"tf":2.0}}},"z":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"q":{"df":1,"docs":{"295":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":7,"docs":{"100":{"tf":1.0},"199":{"tf":1.0},"209":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"6":{"tf":1.0},"80":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"66":{"tf":2.8284271247461903},"67":{"tf":2.0},"68":{"tf":2.0}}}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":6,"docs":{"169":{"tf":1.0},"196":{"tf":1.0},"215":{"tf":1.0},"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"83":{"tf":1.0}},"p":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"172":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"102":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"190":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"173":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"116":{"tf":1.7320508075688772},"137":{"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":{"263":{"tf":1.0}}},"df":2,"docs":{"131":{"tf":1.0},"263":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"161":{"tf":1.0},"178":{"tf":1.0},"215":{"tf":1.0},"274":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"122":{"tf":1.0},"167":{"tf":1.0},"93":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"111":{"tf":1.0},"17":{"tf":1.0}}}},"v":{"df":1,"docs":{"288":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"225":{"tf":1.0},"226":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{":":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"224":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},":":{"_":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"k":{"df":0,"docs":{},"g":{"_":{"_":{"df":1,"docs":{"225":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"_":{"df":1,"docs":{"226":{"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":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"229":{"tf":1.0}}}},"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":{"186":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"281":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"184":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"239":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"240":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"133":{"tf":1.0},"140":{"tf":1.0},"188":{"tf":1.0},"220":{"tf":1.0},"267":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"222":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":22,"docs":{"107":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"174":{"tf":1.0},"202":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"242":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"279":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"32":{"tf":1.0},"65":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"111":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"172":{"tf":1.0},"203":{"tf":1.0},"227":{"tf":1.0},"230":{"tf":1.0},"265":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"233":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"108":{"tf":1.0},"226":{"tf":1.0},"288":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"231":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"259":{"tf":1.0},"275":{"tf":1.4142135623730951},"75":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":15,"docs":{"107":{"tf":1.4142135623730951},"115":{"tf":1.0},"137":{"tf":1.0},"163":{"tf":1.0},"184":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.4142135623730951},"252":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"274":{"tf":1.4142135623730951},"278":{"tf":1.0},"291":{"tf":1.4142135623730951},"293":{"tf":1.0},"298":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":30,"docs":{"11":{"tf":1.0},"124":{"tf":1.0},"13":{"tf":1.0},"131":{"tf":1.0},"173":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"193":{"tf":2.0},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.4142135623730951},"228":{"tf":1.4142135623730951},"260":{"tf":2.23606797749979},"261":{"tf":2.449489742783178},"262":{"tf":1.4142135623730951},"263":{"tf":1.7320508075688772},"264":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"65":{"tf":2.23606797749979},"73":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"153":{"tf":1.0},"163":{"tf":1.0},"277":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"173":{"tf":2.0}}}}}}}},"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}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"226":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"119":{"tf":1.0},"127":{"tf":1.0},"160":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"186":{"tf":1.0},"215":{"tf":1.0},"25":{"tf":1.0},"266":{"tf":1.0},"278":{"tf":1.0},"49":{"tf":1.0},"69":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"235":{"tf":2.0}}}}}}},"df":0,"docs":{},"f":{"df":22,"docs":{"125":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.4142135623730951},"164":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"183":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"224":{"tf":1.7320508075688772},"231":{"tf":1.0},"25":{"tf":1.0},"264":{"tf":1.0},"274":{"tf":1.0},"277":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"80":{"tf":1.0}},"i":{"df":13,"docs":{"156":{"tf":1.4142135623730951},"173":{"tf":1.0},"204":{"tf":1.0},"215":{"tf":1.0},"263":{"tf":2.0},"291":{"tf":4.358898943540674},"293":{"tf":4.69041575982343},"298":{"tf":2.8284271247461903},"72":{"tf":1.0},"8":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"115":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}},"n":{"d":{"df":2,"docs":{"261":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"270":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"215":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"193":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":3,"docs":{"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"210":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"d":{"df":1,"docs":{"294":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"294":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"72":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}},"e":{"(":{"2":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":1,"docs":{"230":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}}}}},"r":{"c":{"df":21,"docs":{"195":{"tf":1.4142135623730951},"199":{"tf":1.0},"204":{"tf":1.4142135623730951},"206":{"tf":1.4142135623730951},"215":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"262":{"tf":1.4142135623730951},"266":{"tf":1.4142135623730951},"267":{"tf":2.449489742783178},"269":{"tf":2.23606797749979},"270":{"tf":2.6457513110645907},"272":{"tf":1.4142135623730951},"273":{"tf":2.449489742783178},"274":{"tf":1.7320508075688772},"286":{"tf":1.4142135623730951},"37":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"151":{"tf":1.0},"186":{"tf":1.7320508075688772},"45":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"282":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"230":{"tf":1.0}}}},"n":{"c":{"df":3,"docs":{"151":{"tf":1.0},"259":{"tf":1.0},"93":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"217":{"tf":1.0}}}}},"r":{"d":{"df":9,"docs":{"203":{"tf":1.0},"220":{"tf":1.0},"276":{"tf":1.7320508075688772},"277":{"tf":1.0},"278":{"tf":1.0},"279":{"tf":1.0},"281":{"tf":1.0},"282":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"268":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":51,"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},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"208":{"tf":1.4142135623730951},"21":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"217":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"230":{"tf":1.0},"232":{"tf":1.0},"24":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":2.6457513110645907},"26":{"tf":1.0},"263":{"tf":2.0},"27":{"tf":1.0},"271":{"tf":1.0},"279":{"tf":1.0},"28":{"tf":1.0},"288":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"291":{"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},"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}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"215":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":19,"docs":{"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"147":{"tf":1.4142135623730951},"150":{"tf":2.0},"152":{"tf":1.0},"153":{"tf":1.0},"211":{"tf":1.0},"230":{"tf":1.0},"239":{"tf":1.4142135623730951},"241":{"tf":1.0},"242":{"tf":1.0},"244":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"272":{"tf":1.7320508075688772},"273":{"tf":2.6457513110645907},"274":{"tf":2.0},"279":{"tf":1.0},"80":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":15,"docs":{"109":{"tf":1.0},"132":{"tf":1.0},"142":{"tf":1.0},"212":{"tf":1.0},"25":{"tf":1.0},"263":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"i":{"c":{"_":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"210":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"221":{"tf":1.0}}}}},"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":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"210":{"tf":1.0},"212":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"219":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{"81":{"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":74,"docs":{"1":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"112":{"tf":1.4142135623730951},"119":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.7320508075688772},"150":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":2.0},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"170":{"tf":1.7320508075688772},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.4142135623730951},"177":{"tf":1.0},"181":{"tf":1.0},"186":{"tf":1.0},"189":{"tf":1.0},"192":{"tf":1.0},"194":{"tf":1.0},"199":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"210":{"tf":3.0},"211":{"tf":2.449489742783178},"212":{"tf":2.0},"213":{"tf":2.8284271247461903},"214":{"tf":3.3166247903554},"215":{"tf":2.23606797749979},"216":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":2.6457513110645907},"220":{"tf":1.4142135623730951},"221":{"tf":1.7320508075688772},"228":{"tf":1.0},"229":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.4142135623730951},"238":{"tf":1.0},"239":{"tf":1.4142135623730951},"242":{"tf":1.0},"244":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"251":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"273":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"3":{"tf":1.0},"45":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":2.0},"75":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":1,"docs":{"288":{"tf":1.0}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"d":{".":{"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":{"201":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"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":5,"docs":{"152":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.0}},"s":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}}}},"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":{"138":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"b":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}},"c":{"df":1,"docs":{"154":{"tf":1.7320508075688772}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"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":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":2.0}}}},"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":7,"docs":{"152":{"tf":1.4142135623730951},"161":{"tf":2.23606797749979},"162":{"tf":2.0},"164":{"tf":2.6457513110645907},"165":{"tf":3.1622776601683795},"175":{"tf":1.0},"291":{"tf":3.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"153":{"tf":1.4142135623730951}}}}}}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":2.23606797749979}}}},"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"292":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"286":{"tf":1.0}}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"<":{"df":0,"docs":{},"k":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"d":{"d":{"df":1,"docs":{"206":{"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":{"125":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"221":{"tf":1.0}}}}},"t":{"df":3,"docs":{"152":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.4142135623730951}}}},"df":3,"docs":{"153":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"110":{"tf":1.4142135623730951},"128":{"tf":2.449489742783178},"129":{"tf":2.449489742783178},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"j":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"152":{"tf":1.0},"201":{"tf":1.0},"299":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"b":{"'":{"df":8,"docs":{"189":{"tf":1.0},"199":{"tf":1.0},"211":{"tf":1.0},"214":{"tf":1.0},"242":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"99":{"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":{},"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":{"164":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":27,"docs":{"194":{"tf":1.7320508075688772},"242":{"tf":1.7320508075688772},"243":{"tf":2.449489742783178},"27":{"tf":1.0},"281":{"tf":1.7320508075688772},"282":{"tf":1.4142135623730951},"283":{"tf":1.4142135623730951},"284":{"tf":1.4142135623730951},"285":{"tf":1.4142135623730951},"286":{"tf":1.4142135623730951},"287":{"tf":1.4142135623730951},"288":{"tf":1.4142135623730951},"289":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"294":{"tf":1.4142135623730951},"295":{"tf":1.4142135623730951},"296":{"tf":1.4142135623730951},"297":{"tf":1.4142135623730951},"298":{"tf":1.4142135623730951},"299":{"tf":1.7320508075688772},"300":{"tf":1.4142135623730951},"301":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"99":{"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":10,"docs":{"130":{"tf":1.0},"230":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":1.0},"260":{"tf":1.4142135623730951},"273":{"tf":1.0},"275":{"tf":1.0},"37":{"tf":1.0},"65":{"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":37,"docs":{"13":{"tf":1.0},"132":{"tf":1.0},"150":{"tf":1.0},"161":{"tf":1.0},"164":{"tf":1.0},"172":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"213":{"tf":1.0},"229":{"tf":1.0},"239":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"251":{"tf":1.0},"273":{"tf":1.4142135623730951},"282":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"230":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":3,"docs":{"164":{"tf":1.0},"171":{"tf":1.0},"288":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"244":{"tf":1.0},"89":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"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":{"140":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"189":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"111":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"151":{"tf":1.0},"157":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"(":{"\"":{"%":{"df":0,"docs":{},"s":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{".":{"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":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.0}}}}}}}}},"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":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"301":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"110":{"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":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"110":{"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":{"110":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"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":2,"docs":{"170":{"tf":1.4142135623730951},"301":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}},"df":77,"docs":{"101":{"tf":2.6457513110645907},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":2.23606797749979},"109":{"tf":2.0},"112":{"tf":1.7320508075688772},"114":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.4142135623730951},"155":{"tf":1.0},"158":{"tf":2.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":2.23606797749979},"168":{"tf":2.8284271247461903},"170":{"tf":3.3166247903554},"171":{"tf":2.8284271247461903},"172":{"tf":2.449489742783178},"194":{"tf":1.4142135623730951},"199":{"tf":1.7320508075688772},"202":{"tf":3.0},"203":{"tf":1.0},"207":{"tf":2.0},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"212":{"tf":1.0},"213":{"tf":2.0},"215":{"tf":1.4142135623730951},"219":{"tf":2.0},"220":{"tf":2.0},"228":{"tf":1.0},"229":{"tf":1.0},"254":{"tf":1.0},"255":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":2.6457513110645907},"260":{"tf":1.0},"261":{"tf":1.7320508075688772},"262":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"272":{"tf":2.0},"273":{"tf":2.449489742783178},"274":{"tf":2.23606797749979},"279":{"tf":1.0},"283":{"tf":1.0},"285":{"tf":1.4142135623730951},"286":{"tf":1.7320508075688772},"287":{"tf":1.4142135623730951},"290":{"tf":1.4142135623730951},"292":{"tf":1.4142135623730951},"293":{"tf":1.4142135623730951},"297":{"tf":2.6457513110645907},"299":{"tf":1.0},"300":{"tf":9.0},"301":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"47":{"tf":1.0},"48":{"tf":3.3166247903554},"49":{"tf":2.8284271247461903},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.7320508075688772},"93":{"tf":1.0},"96":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"170":{"tf":3.0},"172":{"tf":1.0}}},"y":{"<":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}}}},"t":{"df":2,"docs":{"168":{"tf":1.0},"171":{"tf":1.0}}},"v":{"df":1,"docs":{"172":{"tf":1.0}}}},"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":2,"docs":{"199":{"tf":1.0},"202":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"168":{"tf":1.7320508075688772},"171":{"tf":1.7320508075688772},"27":{"tf":1.0},"35":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"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":{"65":{"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":{}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"257":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"166":{"tf":1.0},"86":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"273":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":35,"docs":{"104":{"tf":2.23606797749979},"105":{"tf":1.7320508075688772},"106":{"tf":2.0},"110":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"203":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.4142135623730951},"210":{"tf":2.0},"213":{"tf":1.7320508075688772},"220":{"tf":1.0},"257":{"tf":2.0},"266":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"274":{"tf":1.0},"285":{"tf":1.0},"287":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.4142135623730951},"292":{"tf":1.0},"297":{"tf":1.0},"299":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"83":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":29,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"122":{"tf":1.0},"128":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"179":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.4142135623730951},"205":{"tf":1.0},"209":{"tf":1.7320508075688772},"231":{"tf":1.7320508075688772},"232":{"tf":1.0},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":2.0},"243":{"tf":1.4142135623730951},"257":{"tf":1.0},"259":{"tf":1.0},"277":{"tf":1.7320508075688772},"3":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"70":{"tf":2.0},"71":{"tf":2.23606797749979},"85":{"tf":1.0},"90":{"tf":1.0}}}},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"133":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"245":{"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":{"150":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":2.23606797749979},"39":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"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":{"107":{"tf":2.0},"140":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"232":{"tf":1.7320508075688772},"235":{"tf":2.8284271247461903}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":1.0},"209":{"tf":1.0},"219":{"tf":1.0},"263":{"tf":1.0}}}},"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":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"291":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"244":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"226":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"101":{"tf":2.0},"137":{"tf":2.23606797749979},"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":3,"docs":{"208":{"tf":1.0},"288":{"tf":2.0},"291":{"tf":1.7320508075688772}}}},"t":{"df":2,"docs":{"268":{"tf":1.0},"298":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"262":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"l":{"df":4,"docs":{"187":{"tf":1.0},"229":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"288":{"tf":1.0}}}}},"i":{"df":1,"docs":{"201":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"p":{"df":7,"docs":{"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"171":{"tf":1.4142135623730951},"172":{"tf":2.23606797749979}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"288":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"25":{"tf":1.0},"288":{"tf":2.0},"75":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":8,"docs":{"189":{"tf":1.0},"196":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.4142135623730951},"260":{"tf":1.0},"32":{"tf":1.0},"66":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":24,"docs":{"122":{"tf":1.0},"135":{"tf":1.0},"151":{"tf":1.4142135623730951},"156":{"tf":1.0},"165":{"tf":1.0},"190":{"tf":1.0},"209":{"tf":1.4142135623730951},"211":{"tf":1.0},"215":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"249":{"tf":1.0},"254":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.4142135623730951},"276":{"tf":1.0},"288":{"tf":1.0},"293":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"185":{"tf":1.0},"246":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"158":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"266":{"tf":1.0},"280":{"tf":1.0}}}},"df":0,"docs":{},"x":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":3,"docs":{"271":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":2.449489742783178}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"135":{"tf":1.0},"145":{"tf":1.0},"203":{"tf":1.0},"48":{"tf":1.0},"64":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":5,"docs":{"210":{"tf":1.0},"220":{"tf":1.0},"282":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979}}}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"252":{"tf":1.0}}}},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"156":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":3,"docs":{"155":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"298":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":49,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"107":{"tf":1.7320508075688772},"109":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.7320508075688772},"135":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.4142135623730951},"180":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.4142135623730951},"205":{"tf":1.0},"210":{"tf":1.0},"212":{"tf":1.0},"214":{"tf":1.7320508075688772},"220":{"tf":2.0},"221":{"tf":1.0},"252":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.7320508075688772},"260":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"274":{"tf":1.4142135623730951},"277":{"tf":1.0},"280":{"tf":1.0},"284":{"tf":1.0},"296":{"tf":1.0},"300":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.7320508075688772},"98":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"18":{"tf":1.0},"220":{"tf":1.0},"267":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"p":{"df":6,"docs":{"114":{"tf":1.4142135623730951},"2":{"tf":1.0},"228":{"tf":2.23606797749979},"229":{"tf":1.7320508075688772},"271":{"tf":1.4142135623730951},"78":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":1,"docs":{"114":{"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":{"66":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"126":{"tf":1.0},"148":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":1,"docs":{"268":{"tf":1.0}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"238":{"tf":1.0},"288":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"132":{"tf":1.0},"142":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":20,"docs":{"135":{"tf":1.0},"145":{"tf":1.0},"201":{"tf":1.4142135623730951},"203":{"tf":1.7320508075688772},"210":{"tf":1.4142135623730951},"231":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.7320508075688772},"253":{"tf":1.0},"266":{"tf":1.0},"267":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":2.0},"88":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"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":1,"docs":{"172":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"x":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}},"df":57,"docs":{"119":{"tf":1.0},"13":{"tf":1.4142135623730951},"151":{"tf":1.0},"169":{"tf":1.0},"180":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":2.23606797749979},"191":{"tf":1.0},"192":{"tf":1.0},"193":{"tf":1.0},"194":{"tf":1.0},"195":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"200":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"212":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.0},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"222":{"tf":1.4142135623730951},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0},"228":{"tf":1.4142135623730951},"229":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.0},"260":{"tf":1.0},"264":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}}}},"t":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"137":{"tf":1.0},"139":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"230":{"tf":1.0}},"e":{"\"":{"/":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"107":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"162":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"174":{"tf":1.0},"230":{"tf":1.0}}}},"df":0,"docs":{}}},"df":41,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"15":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"183":{"tf":1.7320508075688772},"198":{"tf":1.0},"206":{"tf":1.0},"222":{"tf":1.0},"223":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"236":{"tf":1.0},"239":{"tf":1.0},"242":{"tf":1.4142135623730951},"247":{"tf":1.0},"248":{"tf":1.0},"251":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"273":{"tf":1.0},"296":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}},"n":{"df":2,"docs":{"184":{"tf":1.0},"267":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"223":{"tf":1.0}}},"df":29,"docs":{"189":{"tf":1.4142135623730951},"195":{"tf":1.4142135623730951},"196":{"tf":1.4142135623730951},"199":{"tf":1.4142135623730951},"204":{"tf":1.0},"223":{"tf":2.23606797749979},"224":{"tf":2.23606797749979},"225":{"tf":1.4142135623730951},"226":{"tf":1.7320508075688772},"227":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"266":{"tf":1.0},"268":{"tf":2.23606797749979},"269":{"tf":2.0},"27":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"286":{"tf":1.0},"30":{"tf":1.7320508075688772},"300":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":5,"docs":{"178":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":3.3166247903554},"48":{"tf":1.0},"63":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":5,"docs":{"231":{"tf":1.0},"232":{"tf":1.7320508075688772},"235":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}},"df":37,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"152":{"tf":1.7320508075688772},"153":{"tf":2.0},"156":{"tf":2.449489742783178},"159":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":2.23606797749979},"171":{"tf":2.23606797749979},"172":{"tf":1.7320508075688772},"173":{"tf":2.449489742783178},"175":{"tf":1.0},"181":{"tf":2.0},"188":{"tf":1.0},"192":{"tf":2.449489742783178},"201":{"tf":1.0},"247":{"tf":2.0},"248":{"tf":1.4142135623730951},"284":{"tf":4.123105625617661},"288":{"tf":1.0},"291":{"tf":8.426149773176359},"295":{"tf":2.23606797749979},"298":{"tf":7.810249675906654},"299":{"tf":1.0},"301":{"tf":1.0},"73":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951},"83":{"tf":2.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":4,"docs":{"119":{"tf":1.0},"214":{"tf":1.0},"22":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"144":{"tf":1.0},"209":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"156":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"249":{"tf":1.0},"261":{"tf":2.23606797749979},"262":{"tf":1.7320508075688772},"263":{"tf":2.23606797749979},"48":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"64":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"n":{"d":{"df":5,"docs":{"140":{"tf":1.4142135623730951},"142":{"tf":1.0},"222":{"tf":1.0},"230":{"tf":1.0},"245":{"tf":1.0}}},"df":2,"docs":{"108":{"tf":1.0},"109":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":4,"docs":{"167":{"tf":1.0},"17":{"tf":1.0},"227":{"tf":1.0},"229":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"130":{"tf":1.0},"186":{"tf":1.0},"256":{"tf":1.0},"288":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"197":{"tf":1.4142135623730951},"215":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"/":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"215":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"219":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":7,"docs":{"13":{"tf":1.0},"184":{"tf":1.4142135623730951},"197":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"228":{"tf":1.4142135623730951},"43":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"%":{"2":{"0":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"%":{"2":{"0":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{",":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"%":{"2":{"c":{"%":{"2":{"0":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{")":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"(":{")":{"%":{"3":{"b":{"df":1,"docs":{"291":{"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":{}},"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":10,"docs":{"11":{"tf":1.0},"189":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"256":{"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":{"65":{"tf":2.0}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":3,"docs":{"221":{"tf":1.0},"243":{"tf":1.0},"260":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"165":{"tf":1.0},"201":{"tf":1.0},"230":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0}}}}}}}}},"t":{"'":{"df":10,"docs":{"107":{"tf":1.0},"129":{"tf":1.0},"210":{"tf":1.0},"220":{"tf":1.0},"229":{"tf":1.0},"256":{"tf":1.0},"267":{"tf":1.0},"273":{"tf":1.0},"278":{"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":8,"docs":{"178":{"tf":1.0},"204":{"tf":1.0},"205":{"tf":1.0},"208":{"tf":1.0},"209":{"tf":1.0},"215":{"tf":1.0},"274":{"tf":1.0},"39":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":18,"docs":{"156":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772},"181":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.0},"233":{"tf":1.0},"267":{"tf":1.0},"27":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.0},"278":{"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":{"124":{"tf":1.0},"244":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"206":{"tf":1.0},"238":{"tf":1.0},"246":{"tf":1.0}}}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"196":{"tf":1.0},"255":{"tf":1.0}}}},"r":{"df":5,"docs":{"140":{"tf":1.0},"201":{"tf":1.0},"272":{"tf":1.0},"288":{"tf":1.0},"298":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":23,"docs":{"157":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"199":{"tf":1.0},"2":{"tf":1.0},"201":{"tf":1.0},"220":{"tf":1.0},"230":{"tf":1.0},"234":{"tf":1.0},"245":{"tf":1.4142135623730951},"254":{"tf":1.0},"263":{"tf":1.4142135623730951},"269":{"tf":1.0},"272":{"tf":1.0},"273":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0}}},"k":{"df":14,"docs":{"134":{"tf":1.0},"155":{"tf":1.0},"157":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.0},"208":{"tf":1.0},"230":{"tf":1.0},"231":{"tf":1.0},"264":{"tf":1.0},"268":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"93":{"tf":1.0}}}},"r":{"d":{"df":2,"docs":{"137":{"tf":1.0},"229":{"tf":1.0}}},"df":0,"docs":{}},"s":{".":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":2.449489742783178}},"p":{"df":0,"docs":{},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"170":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"209":{"tf":1.0},"231":{"tf":1.0},"27":{"tf":1.0},"276":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"115":{"tf":1.0},"122":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"244":{"tf":1.0},"274":{"tf":1.0},"48":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":1,"docs":{"269":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":19,"docs":{"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"211":{"tf":1.4142135623730951},"230":{"tf":2.449489742783178},"231":{"tf":2.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.7320508075688772},"237":{"tf":1.7320508075688772},"238":{"tf":2.0},"239":{"tf":3.0},"240":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":2.23606797749979},"243":{"tf":2.23606797749979},"244":{"tf":4.69041575982343},"246":{"tf":1.0},"255":{"tf":1.0},"288":{"tf":1.7320508075688772},"297":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"231":{"tf":1.0},"239":{"tf":1.4142135623730951},"244":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":2,"docs":{"170":{"tf":1.0},"171":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":21,"docs":{"107":{"tf":1.0},"131":{"tf":1.0},"15":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"252":{"tf":1.0},"265":{"tf":1.0},"268":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"28":{"tf":1.0},"280":{"tf":1.0},"34":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"119":{"tf":1.0},"140":{"tf":1.0},"165":{"tf":1.0},"173":{"tf":1.0},"200":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"247":{"tf":1.0},"264":{"tf":1.0},"47":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"242":{"tf":1.0},"244":{"tf":1.4142135623730951}}}}}}}},"w":{"df":3,"docs":{"151":{"tf":1.0},"300":{"tf":1.0},"50":{"tf":1.0}},"n":{"df":1,"docs":{"151":{"tf":1.0}}}}}},"u":{"df":1,"docs":{"183":{"tf":1.0}},"m":{"b":{"df":2,"docs":{"208":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":1,"docs":{"255":{"tf":1.0}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"260":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"198":{"tf":1.0},"228":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"273":{"tf":1.0}}},"df":90,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":2.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0},"160":{"tf":1.0},"164":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"184":{"tf":2.449489742783178},"186":{"tf":1.0},"189":{"tf":1.0},"194":{"tf":1.0},"206":{"tf":1.4142135623730951},"207":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"226":{"tf":1.0},"229":{"tf":1.4142135623730951},"230":{"tf":1.4142135623730951},"231":{"tf":1.0},"235":{"tf":1.0},"242":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":2.8284271247461903},"260":{"tf":2.0},"261":{"tf":2.23606797749979},"262":{"tf":1.0},"263":{"tf":2.6457513110645907},"264":{"tf":1.4142135623730951},"265":{"tf":1.7320508075688772},"266":{"tf":1.4142135623730951},"267":{"tf":1.0},"268":{"tf":1.4142135623730951},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":2.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.7320508075688772},"274":{"tf":1.4142135623730951},"275":{"tf":1.4142135623730951},"276":{"tf":1.4142135623730951},"277":{"tf":1.4142135623730951},"278":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"281":{"tf":1.0},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.4142135623730951},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.4142135623730951},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.4142135623730951},"300":{"tf":1.0},"301":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.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":{"115":{"tf":1.0},"124":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.7320508075688772}},"e":{">":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"262":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"l":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"a":{"d":{"d":{"df":4,"docs":{"291":{"tf":1.7320508075688772},"298":{"tf":2.0},"301":{"tf":1.0},"91":{"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":{"150":{"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":{"150":{"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":13,"docs":{"169":{"tf":1.0},"172":{"tf":1.0},"210":{"tf":1.4142135623730951},"212":{"tf":1.4142135623730951},"271":{"tf":1.4142135623730951},"284":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"291":{"tf":3.1622776601683795},"293":{"tf":3.0},"296":{"tf":1.0},"298":{"tf":2.449489742783178},"300":{"tf":1.4142135623730951},"80":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"291":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"138":{"tf":1.0},"237":{"tf":1.0},"255":{"tf":1.0},"260":{"tf":1.0},"43":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"215":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"291":{"tf":1.0}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"249":{"tf":1.0},"291":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}}},"k":{"df":1,"docs":{"184":{"tf":1.0}}},"l":{"df":8,"docs":{"140":{"tf":1.0},"151":{"tf":1.0},"172":{"tf":1.0},"2":{"tf":1.0},"209":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"276":{"tf":1.0}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"152":{"tf":1.7320508075688772}}}}}},"p":{"df":14,"docs":{"17":{"tf":1.0},"233":{"tf":1.0},"249":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"250":{"tf":1.0},"251":{"tf":1.7320508075688772},"263":{"tf":2.23606797749979},"271":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"83":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"291":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"155":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"155":{"tf":1.0},"229":{"tf":1.0},"266":{"tf":1.0},"270":{"tf":1.0}}}},"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":0,"docs":{},"e":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"15":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"252":{"tf":1.0},"274":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"239":{"tf":1.0},"4":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"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":2,"docs":{"260":{"tf":1.0},"76":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"196":{"tf":1.0},"211":{"tf":1.0},"244":{"tf":1.0},"246":{"tf":1.0},"247":{"tf":1.0},"248":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"179":{"tf":1.0},"244":{"tf":1.0}}}}}}},"df":1,"docs":{"262":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"173":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"153":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"128":{"tf":2.0},"129":{"tf":1.4142135623730951}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"243":{"tf":1.0}}}},"df":21,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"116":{"tf":1.0},"130":{"tf":1.4142135623730951},"164":{"tf":1.0},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"207":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.0},"220":{"tf":1.0},"233":{"tf":1.0},"256":{"tf":1.0},"264":{"tf":1.4142135623730951},"276":{"tf":1.0},"277":{"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":4,"docs":{"130":{"tf":1.0},"159":{"tf":1.0},"235":{"tf":1.0},"25":{"tf":1.0}}}}}},"m":{"(":{"df":1,"docs":{"300":{"tf":1.0}}},"df":2,"docs":{"27":{"tf":1.0},"291":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"291":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"110":{"tf":1.7320508075688772},"152":{"tf":1.0},"172":{"tf":1.0},"190":{"tf":1.0},"231":{"tf":1.0},"255":{"tf":1.0},"261":{"tf":1.0},"75":{"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":18,"docs":{"132":{"tf":2.0},"160":{"tf":1.0},"180":{"tf":1.4142135623730951},"184":{"tf":1.4142135623730951},"267":{"tf":1.0},"272":{"tf":1.0},"279":{"tf":1.4142135623730951},"288":{"tf":3.0},"291":{"tf":3.0},"293":{"tf":1.7320508075688772},"298":{"tf":3.7416573867739413},"45":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"169":{"tf":1.0},"64":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"260":{"tf":1.0},"263":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"48":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":9,"docs":{"100":{"tf":2.0},"101":{"tf":2.23606797749979},"102":{"tf":1.0},"103":{"tf":3.1622776601683795},"104":{"tf":1.0},"137":{"tf":2.23606797749979},"203":{"tf":1.0},"59":{"tf":1.0},"71":{"tf":1.0}},"e":{".":{".":{".":{"&":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"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":{"186":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"114":{"tf":1.0},"130":{"tf":1.7320508075688772},"132":{"tf":1.0}}}}},"k":{"df":3,"docs":{"293":{"tf":2.0},"58":{"tf":1.0},"98":{"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":{"130":{"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":{"181":{"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":{"101":{"tf":1.0}}},"6":{"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":{}},"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":{"102":{"tf":1.0}}},"6":{"df":1,"docs":{"102":{"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":{"103":{"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":2,"docs":{"238":{"tf":1.0},"244":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"184":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":22,"docs":{"118":{"tf":1.0},"128":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"183":{"tf":1.0},"185":{"tf":1.0},"198":{"tf":1.0},"205":{"tf":1.0},"211":{"tf":1.0},"228":{"tf":1.0},"231":{"tf":1.0},"234":{"tf":1.0},"235":{"tf":1.0},"237":{"tf":1.4142135623730951},"239":{"tf":1.4142135623730951},"253":{"tf":1.0},"273":{"tf":1.0},"275":{"tf":1.0},"298":{"tf":2.23606797749979},"64":{"tf":1.0},"75":{"tf":2.8284271247461903}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":6,"docs":{"188":{"tf":1.7320508075688772},"201":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":2.0},"209":{"tf":1.7320508075688772},"243":{"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":{"180":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":1,"docs":{"158":{"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":{"127":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":135,"docs":{"1":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"101":{"tf":2.6457513110645907},"102":{"tf":3.4641016151377544},"103":{"tf":2.23606797749979},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":2.0},"107":{"tf":3.0},"108":{"tf":3.3166247903554},"109":{"tf":4.0},"110":{"tf":2.449489742783178},"111":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.7320508075688772},"114":{"tf":2.23606797749979},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":3.4641016151377544},"118":{"tf":3.3166247903554},"119":{"tf":3.1622776601683795},"120":{"tf":2.8284271247461903},"121":{"tf":2.449489742783178},"122":{"tf":3.7416573867739413},"123":{"tf":2.23606797749979},"124":{"tf":2.449489742783178},"125":{"tf":3.4641016151377544},"126":{"tf":3.0},"127":{"tf":4.0},"128":{"tf":2.449489742783178},"129":{"tf":2.8284271247461903},"130":{"tf":4.123105625617661},"131":{"tf":3.7416573867739413},"132":{"tf":1.4142135623730951},"133":{"tf":2.8284271247461903},"134":{"tf":2.449489742783178},"135":{"tf":1.7320508075688772},"136":{"tf":2.0},"137":{"tf":2.0},"138":{"tf":2.8284271247461903},"139":{"tf":3.0},"145":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"152":{"tf":2.449489742783178},"153":{"tf":1.7320508075688772},"154":{"tf":2.0},"155":{"tf":3.1622776601683795},"156":{"tf":3.4641016151377544},"157":{"tf":1.7320508075688772},"158":{"tf":1.4142135623730951},"160":{"tf":2.0},"161":{"tf":2.6457513110645907},"162":{"tf":2.23606797749979},"163":{"tf":2.449489742783178},"164":{"tf":3.1622776601683795},"165":{"tf":3.605551275463989},"166":{"tf":3.0},"167":{"tf":1.4142135623730951},"169":{"tf":2.0},"170":{"tf":2.23606797749979},"171":{"tf":2.449489742783178},"172":{"tf":2.6457513110645907},"173":{"tf":3.1622776601683795},"175":{"tf":2.8284271247461903},"176":{"tf":2.6457513110645907},"177":{"tf":2.449489742783178},"178":{"tf":1.0},"180":{"tf":2.0},"181":{"tf":3.3166247903554},"182":{"tf":1.0},"183":{"tf":1.0},"186":{"tf":2.8284271247461903},"187":{"tf":1.0},"188":{"tf":2.0},"192":{"tf":1.0},"198":{"tf":1.0},"200":{"tf":2.0},"201":{"tf":3.4641016151377544},"202":{"tf":1.7320508075688772},"203":{"tf":2.23606797749979},"204":{"tf":1.4142135623730951},"205":{"tf":2.449489742783178},"206":{"tf":4.123105625617661},"207":{"tf":3.0},"208":{"tf":2.6457513110645907},"209":{"tf":2.8284271247461903},"210":{"tf":1.4142135623730951},"220":{"tf":2.23606797749979},"235":{"tf":1.0},"239":{"tf":2.23606797749979},"240":{"tf":1.4142135623730951},"242":{"tf":1.0},"243":{"tf":2.8284271247461903},"247":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.4142135623730951},"254":{"tf":1.0},"257":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.4142135623730951},"271":{"tf":1.0},"273":{"tf":2.6457513110645907},"286":{"tf":1.0},"288":{"tf":1.0},"299":{"tf":1.0},"4":{"tf":1.4142135623730951},"45":{"tf":3.605551275463989},"49":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"66":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"81":{"tf":2.449489742783178},"82":{"tf":1.7320508075688772},"83":{"tf":2.23606797749979},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":2.23606797749979},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":2.8284271247461903},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"s":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"109":{"tf":1.0}}},"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":10,"docs":{"155":{"tf":1.0},"161":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.0},"209":{"tf":1.0},"230":{"tf":1.0},"233":{"tf":1.0},"288":{"tf":1.0},"45":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"112":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"147":{"tf":1.0},"156":{"tf":1.0},"186":{"tf":1.0},"230":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"107":{"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":{"177":{"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}}}}}}}}}},"b":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"209":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"178":{"tf":1.0},"210":{"tf":1.0},"291":{"tf":1.0},"298":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"140":{"tf":1.0},"59":{"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":6,"docs":{"138":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"291":{"tf":1.0}}}}},"r":{"df":1,"docs":{"107":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"183":{"tf":1.0},"201":{"tf":1.0}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"276":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":25,"docs":{"133":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"166":{"tf":1.0},"17":{"tf":1.0},"173":{"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},"232":{"tf":1.0},"24":{"tf":1.0},"249":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"27":{"tf":1.0},"273":{"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":5,"docs":{"209":{"tf":1.0},"210":{"tf":1.0},"247":{"tf":1.0},"268":{"tf":1.0},"93":{"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":2,"docs":{"151":{"tf":1.0},"249":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"277":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"230":{"tf":1.0},"247":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"74":{"tf":1.0},"75":{"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":{"120":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"60":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"107":{"tf":1.0},"298":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":12,"docs":{"157":{"tf":1.0},"158":{"tf":1.0},"187":{"tf":1.0},"220":{"tf":1.4142135623730951},"228":{"tf":1.0},"25":{"tf":1.0},"252":{"tf":1.0},"260":{"tf":1.0},"278":{"tf":1.0},"59":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0}}}},"t":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":4,"docs":{"173":{"tf":3.0},"231":{"tf":1.0},"244":{"tf":1.0},"39":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"215":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"112":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"201":{"tf":1.0}}}}}}},"n":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"264":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"131":{"tf":1.0},"142":{"tf":1.0},"160":{"tf":1.0},"190":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":7,"docs":{"103":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"158":{"tf":1.0},"171":{"tf":1.0},"83":{"tf":1.0},"87":{"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":7,"docs":{"107":{"tf":1.0},"151":{"tf":1.0},"184":{"tf":1.0},"263":{"tf":1.4142135623730951},"64":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"73":{"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":{"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"157":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":5,"docs":{"150":{"tf":1.0},"201":{"tf":1.0},"239":{"tf":1.4142135623730951},"291":{"tf":1.4142135623730951},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"201":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"220":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"187":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"242":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":6,"docs":{"173":{"tf":1.4142135623730951},"233":{"tf":1.0},"244":{"tf":1.0},"293":{"tf":1.4142135623730951},"68":{"tf":1.0},"81":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":7,"docs":{"126":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"184":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}},"u":{"df":1,"docs":{"264":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"107":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"a":{"df":0,"docs":{},"t":{")":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"272":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"150":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"f":{"df":1,"docs":{"193":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{")":{".":{"df":0,"docs":{},"v":{"df":4,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"164":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"110":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951}}}}}},"v":{"df":1,"docs":{"110":{"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":{"181":{"tf":1.0}}},"1":{"df":1,"docs":{"181":{"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":{")":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"207":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"210":{"tf":1.0},"212":{"tf":1.0},"257":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"193":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"124":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":3,"docs":{"273":{"tf":1.4142135623730951},"274":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"(":{"c":{"a":{"df":0,"docs":{},"t":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":3,"docs":{"272":{"tf":1.0},"273":{"tf":1.0},"274":{"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"279":{"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":9,"docs":{"122":{"tf":1.0},"123":{"tf":1.7320508075688772},"201":{"tf":1.0},"207":{"tf":2.449489742783178},"233":{"tf":1.0},"234":{"tf":1.0},"245":{"tf":1.0},"248":{"tf":1.0},"286":{"tf":1.0}},"p":{"df":5,"docs":{"201":{"tf":1.0},"205":{"tf":1.4142135623730951},"206":{"tf":1.0},"207":{"tf":3.4641016151377544},"208":{"tf":2.449489742783178}},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"152":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"152":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"152":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":2,"docs":{"245":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"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":{":":{"1":{"1":{"df":1,"docs":{"207":{"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":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":25,"docs":{"103":{"tf":1.4142135623730951},"106":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":2.23606797749979},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"187":{"tf":1.4142135623730951},"201":{"tf":1.0},"207":{"tf":2.449489742783178},"208":{"tf":1.0},"209":{"tf":1.4142135623730951},"242":{"tf":1.0},"267":{"tf":1.4142135623730951},"272":{"tf":1.7320508075688772},"296":{"tf":1.0},"38":{"tf":1.7320508075688772},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"207":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":26,"docs":{"138":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"15":{"tf":1.0},"151":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"226":{"tf":1.0},"230":{"tf":1.0},"244":{"tf":1.7320508075688772},"247":{"tf":1.0},"252":{"tf":1.0},"255":{"tf":1.0},"256":{"tf":1.0},"262":{"tf":1.4142135623730951},"265":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"79":{"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":{"235":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"181":{"tf":1.0},"219":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.4142135623730951},"242":{"tf":1.0},"25":{"tf":1.0},"288":{"tf":1.4142135623730951},"45":{"tf":1.0},"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"194":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"130":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":13,"docs":{"110":{"tf":1.4142135623730951},"138":{"tf":1.0},"188":{"tf":1.0},"203":{"tf":1.0},"207":{"tf":1.4142135623730951},"209":{"tf":1.0},"229":{"tf":1.7320508075688772},"252":{"tf":1.0},"271":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"93":{"tf":2.0}}}},"df":147,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":1.0},"134":{"tf":1.4142135623730951},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":2.449489742783178},"169":{"tf":1.7320508075688772},"17":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"18":{"tf":1.0},"181":{"tf":1.4142135623730951},"184":{"tf":2.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":2.0},"19":{"tf":1.4142135623730951},"192":{"tf":1.0},"197":{"tf":1.7320508075688772},"198":{"tf":1.0},"20":{"tf":1.0},"200":{"tf":1.4142135623730951},"201":{"tf":1.7320508075688772},"203":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":2.0},"207":{"tf":2.0},"208":{"tf":2.23606797749979},"209":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.4142135623730951},"213":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"218":{"tf":1.0},"219":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"221":{"tf":1.7320508075688772},"222":{"tf":1.4142135623730951},"223":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.4142135623730951},"227":{"tf":1.0},"229":{"tf":2.23606797749979},"230":{"tf":1.4142135623730951},"233":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"239":{"tf":1.7320508075688772},"242":{"tf":1.0},"243":{"tf":1.0},"244":{"tf":1.7320508075688772},"245":{"tf":1.7320508075688772},"247":{"tf":2.23606797749979},"249":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"250":{"tf":2.6457513110645907},"252":{"tf":1.0},"253":{"tf":1.0},"254":{"tf":1.0},"256":{"tf":1.4142135623730951},"259":{"tf":1.7320508075688772},"261":{"tf":1.4142135623730951},"263":{"tf":2.449489742783178},"264":{"tf":1.7320508075688772},"265":{"tf":1.4142135623730951},"267":{"tf":1.7320508075688772},"268":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"275":{"tf":1.7320508075688772},"277":{"tf":1.0},"279":{"tf":2.449489742783178},"29":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.7320508075688772},"3":{"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},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"297":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"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":{"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":{}},"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":{"124":{"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":{}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"204":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"204":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"df":41,"docs":{"110":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":2.23606797749979},"120":{"tf":1.7320508075688772},"121":{"tf":2.0},"122":{"tf":2.23606797749979},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"164":{"tf":1.0},"17":{"tf":1.0},"181":{"tf":1.7320508075688772},"183":{"tf":1.0},"188":{"tf":2.449489742783178},"194":{"tf":1.0},"201":{"tf":1.0},"203":{"tf":1.0},"205":{"tf":1.7320508075688772},"206":{"tf":1.4142135623730951},"207":{"tf":1.4142135623730951},"208":{"tf":1.4142135623730951},"209":{"tf":1.7320508075688772},"215":{"tf":1.4142135623730951},"219":{"tf":1.0},"229":{"tf":1.0},"235":{"tf":1.4142135623730951},"243":{"tf":2.0},"244":{"tf":1.0},"265":{"tf":1.0},"271":{"tf":1.0},"275":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0}},"i":{"d":{"df":4,"docs":{"209":{"tf":1.4142135623730951},"231":{"tf":1.0},"233":{"tf":1.4142135623730951},"235":{"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":{"235":{"tf":1.7320508075688772}}}}}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"204":{"tf":1.0}}}}}}}}}}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"199":{"tf":1.0},"271":{"tf":1.0},"288":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":1.7320508075688772}}}}}},"df":4,"docs":{"170":{"tf":1.0},"231":{"tf":1.0},"255":{"tf":1.0},"72":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"242":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"273":{"tf":1.0}}}}}}}}},"v":{">":{"(":{"\"":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{".":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"c":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{".":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"c":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"<":{"%":{"df":1,"docs":{"243":{"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":{}}}}}}}},"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":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":2.0}}}}}}},"x":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"278":{"tf":1.0}}}},"l":{"df":9,"docs":{"110":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":2.0},"164":{"tf":2.0},"165":{"tf":2.23606797749979},"208":{"tf":1.0},"58":{"tf":2.0}},"i":{"d":{"df":28,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":1.7320508075688772},"109":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"119":{"tf":1.0},"148":{"tf":1.7320508075688772},"150":{"tf":1.0},"172":{"tf":1.0},"196":{"tf":1.0},"199":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.0},"210":{"tf":1.0},"229":{"tf":2.23606797749979},"242":{"tf":1.0},"244":{"tf":1.0},"25":{"tf":1.0},"260":{"tf":1.0},"262":{"tf":1.0},"263":{"tf":1.0},"266":{"tf":1.0},"273":{"tf":1.7320508075688772},"50":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"158":{"tf":1.0}}}},"df":0,"docs":{}},"df":83,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":2.23606797749979},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"119":{"tf":1.0},"125":{"tf":1.0},"130":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.4142135623730951},"137":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"160":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"181":{"tf":1.4142135623730951},"183":{"tf":2.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"192":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.7320508075688772},"208":{"tf":2.449489742783178},"209":{"tf":1.4142135623730951},"210":{"tf":3.3166247903554},"211":{"tf":2.449489742783178},"212":{"tf":2.0},"213":{"tf":3.0},"214":{"tf":3.3166247903554},"215":{"tf":2.8284271247461903},"216":{"tf":2.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":3.0},"220":{"tf":1.0},"233":{"tf":1.4142135623730951},"234":{"tf":1.0},"241":{"tf":1.0},"243":{"tf":1.7320508075688772},"255":{"tf":1.0},"288":{"tf":2.6457513110645907},"291":{"tf":1.0},"293":{"tf":6.082762530298219},"298":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"96":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}},"e":{"'":{"df":5,"docs":{"103":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"212":{"tf":1.0}}},"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"293":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"r":{"df":127,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":2.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":2.449489742783178},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"145":{"tf":2.0},"146":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":2.0},"152":{"tf":2.23606797749979},"153":{"tf":2.23606797749979},"154":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"161":{"tf":1.7320508075688772},"162":{"tf":2.23606797749979},"164":{"tf":2.449489742783178},"165":{"tf":3.0},"168":{"tf":2.0},"171":{"tf":1.7320508075688772},"173":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"177":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"180":{"tf":2.0},"181":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"184":{"tf":3.4641016151377544},"186":{"tf":1.7320508075688772},"187":{"tf":1.7320508075688772},"188":{"tf":1.4142135623730951},"197":{"tf":2.0},"206":{"tf":2.23606797749979},"207":{"tf":2.449489742783178},"210":{"tf":1.7320508075688772},"212":{"tf":1.7320508075688772},"213":{"tf":1.0},"221":{"tf":1.4142135623730951},"233":{"tf":2.0},"234":{"tf":1.4142135623730951},"235":{"tf":1.0},"245":{"tf":1.0},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"251":{"tf":2.0},"254":{"tf":1.4142135623730951},"255":{"tf":1.0},"256":{"tf":1.0},"257":{"tf":1.4142135623730951},"267":{"tf":1.0},"27":{"tf":1.0},"272":{"tf":1.4142135623730951},"273":{"tf":1.4142135623730951},"279":{"tf":1.7320508075688772},"281":{"tf":1.0},"286":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"51":{"tf":2.449489742783178},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"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.7320508075688772},"99":{"tf":1.0}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":35,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":2.449489742783178},"112":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.7320508075688772},"144":{"tf":1.0},"147":{"tf":2.0},"148":{"tf":1.4142135623730951},"149":{"tf":3.0},"150":{"tf":1.0},"154":{"tf":1.0},"184":{"tf":1.0},"249":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":2.0},"47":{"tf":2.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":2.449489742783178},"72":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"154":{"tf":1.7320508075688772},"173":{"tf":1.0},"180":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"247":{"tf":1.0},"251":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0}}}},"t":{"df":1,"docs":{"163":{"tf":1.0}}}},"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"91":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":8,"docs":{"173":{"tf":1.0},"209":{"tf":1.4142135623730951},"215":{"tf":1.0},"221":{"tf":1.0},"230":{"tf":1.0},"264":{"tf":1.0},"279":{"tf":1.0},"298":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"269":{"tf":1.0}}}}},"df":6,"docs":{"172":{"tf":1.0},"243":{"tf":1.4142135623730951},"293":{"tf":5.744562646538029},"58":{"tf":1.4142135623730951},"98":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"268":{"tf":1.0},"274":{"tf":1.0}},"e":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"114":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":58,"docs":{"116":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":2.0},"140":{"tf":1.0},"142":{"tf":1.0},"151":{"tf":1.0},"156":{"tf":1.4142135623730951},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.23606797749979},"175":{"tf":1.4142135623730951},"178":{"tf":1.0},"184":{"tf":1.0},"198":{"tf":1.0},"201":{"tf":1.4142135623730951},"205":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.4142135623730951},"213":{"tf":1.0},"214":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"224":{"tf":1.0},"228":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.4142135623730951},"245":{"tf":1.0},"247":{"tf":1.0},"252":{"tf":1.4142135623730951},"253":{"tf":1.0},"259":{"tf":1.0},"262":{"tf":1.0},"264":{"tf":1.0},"269":{"tf":1.4142135623730951},"270":{"tf":1.0},"271":{"tf":1.0},"272":{"tf":1.0},"276":{"tf":1.0},"277":{"tf":1.0},"279":{"tf":1.0},"280":{"tf":1.0},"282":{"tf":1.0},"299":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":1,"docs":{"116":{"tf":1.0}},"i":{"df":2,"docs":{"209":{"tf":1.0},"25":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":23,"docs":{"10":{"tf":1.4142135623730951},"137":{"tf":1.0},"153":{"tf":1.4142135623730951},"160":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"187":{"tf":1.0},"190":{"tf":1.0},"207":{"tf":1.0},"210":{"tf":1.0},"215":{"tf":1.0},"217":{"tf":1.4142135623730951},"221":{"tf":1.0},"229":{"tf":1.0},"232":{"tf":1.0},"242":{"tf":1.0},"243":{"tf":1.4142135623730951},"264":{"tf":1.0},"273":{"tf":1.0},"288":{"tf":1.0},"291":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":5,"docs":{"232":{"tf":1.0},"274":{"tf":1.0},"291":{"tf":1.7320508075688772},"293":{"tf":1.4142135623730951},"298":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"148":{"tf":1.0},"165":{"tf":1.0},"180":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":2.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":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"223":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"195":{"tf":1.0},"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":7,"docs":{"195":{"tf":1.4142135623730951},"222":{"tf":3.1622776601683795},"223":{"tf":2.8284271247461903},"224":{"tf":2.449489742783178},"225":{"tf":2.449489742783178},"226":{"tf":2.449489742783178},"227":{"tf":2.6457513110645907}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"131":{"tf":1.0},"231":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"140":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":2,"docs":{"231":{"tf":1.0},"260":{"tf":1.4142135623730951}}},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"293":{"tf":1.0}}}}}}}},"w":{"/":{"df":0,"docs":{},"o":{"df":4,"docs":{"207":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0}}}},":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"230":{"tf":1.0},"244":{"tf":1.7320508075688772},"81":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":3,"docs":{"268":{"tf":1.0},"272":{"tf":1.0},"34":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":26,"docs":{"111":{"tf":1.0},"113":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.7320508075688772},"172":{"tf":1.7320508075688772},"178":{"tf":1.0},"194":{"tf":1.0},"207":{"tf":1.0},"208":{"tf":1.7320508075688772},"223":{"tf":1.0},"232":{"tf":1.0},"235":{"tf":1.0},"247":{"tf":1.0},"256":{"tf":1.0},"261":{"tf":1.0},"263":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.7320508075688772},"272":{"tf":1.4142135623730951},"277":{"tf":1.0},"280":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"102":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"137":{"tf":1.0},"148":{"tf":1.0},"206":{"tf":1.0},"258":{"tf":1.0},"33":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"215":{"tf":1.0},"219":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"142":{"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":{"233":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"233":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"275":{"tf":1.0}}}}},"y":{"df":50,"docs":{"101":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"13":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"183":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.0},"197":{"tf":1.0},"206":{"tf":1.0},"207":{"tf":1.0},"209":{"tf":1.0},"211":{"tf":1.0},"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"229":{"tf":1.0},"230":{"tf":1.4142135623730951},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"244":{"tf":1.4142135623730951},"257":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.7320508075688772},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"272":{"tf":1.4142135623730951},"282":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"43":{"tf":1.0},"80":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}}}},"df":2,"docs":{"101":{"tf":1.0},"72":{"tf":1.7320508075688772}},"e":{"'":{"d":{"df":3,"docs":{"129":{"tf":1.0},"232":{"tf":1.0},"272":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":13,"docs":{"198":{"tf":1.0},"206":{"tf":1.0},"228":{"tf":1.0},"260":{"tf":1.4142135623730951},"261":{"tf":1.0},"267":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"272":{"tf":1.0},"275":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"272":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":4,"docs":{"161":{"tf":1.0},"173":{"tf":1.0},"276":{"tf":1.0},"39":{"tf":1.0}}}},"b":{"df":9,"docs":{"215":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"242":{"tf":1.4142135623730951},"244":{"tf":1.0},"252":{"tf":2.449489742783178},"254":{"tf":1.4142135623730951},"255":{"tf":1.4142135623730951},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"<":{"/":{"df":0,"docs":{},"h":{"1":{"df":1,"docs":{"262":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":12,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"2":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"243":{"tf":1.0},"282":{"tf":1.4142135623730951},"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":11,"docs":{"1":{"tf":1.4142135623730951},"171":{"tf":1.0},"18":{"tf":1.0},"208":{"tf":1.4142135623730951},"236":{"tf":1.0},"244":{"tf":1.0},"252":{"tf":1.0},"275":{"tf":1.0},"276":{"tf":1.7320508075688772},"3":{"tf":1.0},"64":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":4,"docs":{"15":{"tf":1.0},"168":{"tf":1.0},"198":{"tf":1.0},"277":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"173":{"tf":1.0},"219":{"tf":1.0},"238":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":4,"docs":{"173":{"tf":1.0},"209":{"tf":1.0},"238":{"tf":1.0},"266":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"c":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"288":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":6,"docs":{"157":{"tf":1.0},"198":{"tf":1.0},"222":{"tf":1.0},"245":{"tf":1.0},"274":{"tf":1.0},"65":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"190":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"155":{"tf":1.0},"263":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"166":{"tf":1.4142135623730951},"172":{"tf":1.0},"182":{"tf":1.0},"201":{"tf":1.4142135623730951},"247":{"tf":1.0},"249":{"tf":1.0},"270":{"tf":1.0},"288":{"tf":1.4142135623730951},"48":{"tf":1.0},"79":{"tf":1.0},"86":{"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":{"52":{"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":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"225":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"274":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"273":{"tf":1.0},"45":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":12,"docs":{"167":{"tf":1.0},"202":{"tf":1.0},"233":{"tf":1.0},"248":{"tf":1.0},"271":{"tf":1.0},"286":{"tf":1.0},"288":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"85":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"113":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"277":{"tf":1.0}},"n":{"df":1,"docs":{"109":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"262":{"tf":1.0},"72":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"67":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"72":{"tf":2.23606797749979},"73":{"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":{"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":{}},"n":{"df":6,"docs":{"184":{"tf":1.4142135623730951},"291":{"tf":1.0},"293":{"tf":1.0},"298":{"tf":1.0},"71":{"tf":1.7320508075688772},"79":{"tf":1.0}}},"p":{"df":21,"docs":{"172":{"tf":1.0},"282":{"tf":1.4142135623730951},"283":{"tf":1.0},"284":{"tf":1.0},"285":{"tf":1.0},"286":{"tf":1.0},"287":{"tf":1.0},"288":{"tf":1.0},"289":{"tf":1.0},"290":{"tf":1.0},"291":{"tf":1.0},"292":{"tf":1.0},"293":{"tf":1.0},"294":{"tf":1.0},"295":{"tf":1.0},"296":{"tf":1.0},"297":{"tf":1.0},"298":{"tf":1.0},"299":{"tf":1.0},"300":{"tf":1.0},"301":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"267":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"284":{"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":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"102":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"148":{"tf":1.0},"151":{"tf":1.0},"173":{"tf":1.4142135623730951},"183":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"198":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"202":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"235":{"tf":1.0},"246":{"tf":1.4142135623730951},"248":{"tf":1.4142135623730951},"249":{"tf":1.0},"39":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"<":{"df":0,"docs":{},"t":{">":{"(":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"291":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"295":{"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":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":28,"docs":{"115":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"188":{"tf":1.4142135623730951},"194":{"tf":1.0},"2":{"tf":1.0},"208":{"tf":1.0},"222":{"tf":1.0},"228":{"tf":1.0},"244":{"tf":1.0},"255":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.0},"267":{"tf":1.0},"280":{"tf":1.0},"288":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"6":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":9,"docs":{"103":{"tf":1.0},"169":{"tf":1.0},"189":{"tf":1.0},"210":{"tf":1.0},"213":{"tf":1.0},"220":{"tf":1.0},"274":{"tf":1.0},"280":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"221":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":3,"docs":{"267":{"tf":1.0},"272":{"tf":1.4142135623730951},"279":{"tf":1.0}}}},"r":{"d":{"df":2,"docs":{"291":{"tf":1.0},"298":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"207":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":25,"docs":{"110":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"142":{"tf":1.0},"147":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"206":{"tf":1.0},"230":{"tf":2.0},"231":{"tf":1.0},"233":{"tf":1.0},"244":{"tf":2.0},"248":{"tf":1.0},"249":{"tf":1.0},"258":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.0},"273":{"tf":1.0},"276":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"51":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"230":{"tf":1.0}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"230":{"tf":1.7320508075688772}}}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"230":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":12,"docs":{"158":{"tf":1.4142135623730951},"228":{"tf":1.0},"242":{"tf":1.0},"263":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"65":{"tf":2.0},"8":{"tf":2.23606797749979},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":1,"docs":{"221":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"150":{"tf":1.0},"194":{"tf":1.0},"33":{"tf":1.0}}}},"s":{"df":5,"docs":{"112":{"tf":1.0},"267":{"tf":1.4142135623730951},"268":{"tf":1.0},"272":{"tf":1.7320508075688772},"279":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"188":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"101":{"tf":1.0},"181":{"tf":1.0},"208":{"tf":1.0},"214":{"tf":1.0},"276":{"tf":1.0},"65":{"tf":1.0},"92":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"209":{"tf":1.0},"272":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":21,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":2.449489742783178},"123":{"tf":1.0},"130":{"tf":1.0},"152":{"tf":1.4142135623730951},"163":{"tf":1.0},"170":{"tf":3.0},"181":{"tf":2.0},"205":{"tf":1.0},"206":{"tf":1.0},"213":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"243":{"tf":1.0},"27":{"tf":1.0},"291":{"tf":1.0},"293":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":4,"docs":{"194":{"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":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"161":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":4,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"208":{"tf":1.0}}}}},"df":35,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"187":{"tf":1.4142135623730951},"215":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"237":{"tf":1.4142135623730951},"242":{"tf":1.0},"245":{"tf":1.4142135623730951},"246":{"tf":1.0},"247":{"tf":1.0},"257":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"261":{"tf":1.4142135623730951},"262":{"tf":1.0},"264":{"tf":1.0},"280":{"tf":1.0},"36":{"tf":1.0},"69":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":7,"docs":{"115":{"tf":1.0},"153":{"tf":1.0},"173":{"tf":1.0},"268":{"tf":1.0},"274":{"tf":1.0},"65":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"31":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{".":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":29,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"126":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"145":{"tf":1.7320508075688772},"146":{"tf":1.4142135623730951},"148":{"tf":1.7320508075688772},"149":{"tf":1.7320508075688772},"152":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"170":{"tf":1.0},"172":{"tf":1.0},"184":{"tf":2.0},"187":{"tf":1.7320508075688772},"208":{"tf":1.7320508075688772},"221":{"tf":1.0},"248":{"tf":2.0},"288":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":2.23606797749979},"75":{"tf":5.0990195135927845},"77":{"tf":2.449489742783178},"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"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":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"y":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":9,"docs":{"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"146":{"tf":2.0},"172":{"tf":1.7320508075688772},"208":{"tf":1.7320508075688772},"288":{"tf":1.4142135623730951},"52":{"tf":1.0},"75":{"tf":5.196152422706632}},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"142":{"tf":1.4142135623730951},"236":{"tf":1.0},"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":{"111":{"tf":2.23606797749979},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"74":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"112":{"tf":2.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"58":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":14,"docs":{"130":{"tf":1.0},"132":{"tf":1.0},"155":{"tf":1.0},"185":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"210":{"tf":1.0},"229":{"tf":1.0},"233":{"tf":1.0},"247":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"277":{"tf":1.4142135623730951},"45":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":36,"docs":{"115":{"tf":1.0},"12":{"tf":1.0},"137":{"tf":1.0},"155":{"tf":1.4142135623730951},"157":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.4142135623730951},"189":{"tf":1.0},"19":{"tf":1.0},"194":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.4142135623730951},"224":{"tf":1.0},"225":{"tf":1.0},"23":{"tf":1.0},"233":{"tf":1.0},"238":{"tf":1.0},"240":{"tf":1.0},"244":{"tf":1.0},"253":{"tf":1.4142135623730951},"256":{"tf":1.0},"257":{"tf":1.0},"258":{"tf":1.0},"259":{"tf":1.0},"264":{"tf":1.4142135623730951},"265":{"tf":1.0},"267":{"tf":1.0},"270":{"tf":1.4142135623730951},"271":{"tf":1.0},"275":{"tf":1.0},"278":{"tf":1.0},"280":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":29,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"169":{"tf":1.0},"18":{"tf":1.0},"199":{"tf":1.0},"201":{"tf":1.0},"217":{"tf":1.0},"22":{"tf":1.0},"220":{"tf":1.0},"222":{"tf":1.0},"229":{"tf":1.0},"24":{"tf":1.0},"248":{"tf":1.0},"256":{"tf":1.0},"258":{"tf":1.4142135623730951},"260":{"tf":1.0},"261":{"tf":1.0},"265":{"tf":1.0},"267":{"tf":1.0},"271":{"tf":1.0},"280":{"tf":1.0},"64":{"tf":1.0}}},"v":{"df":13,"docs":{"131":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0},"189":{"tf":1.0},"198":{"tf":1.0},"217":{"tf":1.0},"228":{"tf":1.0},"233":{"tf":1.0},"266":{"tf":1.0},"275":{"tf":1.4142135623730951},"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":8,"docs":{"112":{"tf":1.0},"150":{"tf":1.0},"208":{"tf":1.0},"230":{"tf":1.0},"235":{"tf":1.0},"265":{"tf":1.0},"270":{"tf":1.0},"280":{"tf":1.0}}}}}}}}}},"z":{"df":1,"docs":{"75":{"tf":5.5677643628300215}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"116":{"tf":1.0},"171":{"tf":1.0},"4":{"tf":1.0},"75":{"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},"59":{"tf":1.0}}},"2":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"60":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"163":{"tf":1.0},"197":{"tf":1.0},"268":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"276":{"tf":1.0},"278":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"273":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"105":{"tf":1.0},"88":{"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}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"280":{"tf":1.0}}}}},"df":4,"docs":{"113":{"tf":1.0},"39":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"138":{"tf":1.0},"164":{"tf":1.0},"235":{"tf":1.0},"248":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":2,"docs":{"130":{"tf":1.0},"200":{"tf":1.0}},"s":{"df":5,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"203":{"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":4,"docs":{"139":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"133":{"tf":1.0},"85":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":5,"docs":{"192":{"tf":1.0},"198":{"tf":1.0},"265":{"tf":1.0},"266":{"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":{"181":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"263":{"tf":1.0},"277":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{"71":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":3,"docs":{"139":{"tf":1.0},"170":{"tf":1.0},"239":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"172":{"tf":1.0},"263":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"135":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"111":{"tf":1.0},"202":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"11":{"tf":1.0},"254":{"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":{"183":{"tf":1.0}}},"y":{"df":1,"docs":{"278":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"229":{"tf":1.0},"271":{"tf":1.0}}},"i":{"c":{"df":1,"docs":{"252":{"tf":1.0}}},"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":3,"docs":{"10":{"tf":1.0},"217":{"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":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"242":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"245":{"tf":1.0},"246":{"tf":1.0},"248":{"tf":1.0},"249":{"tf":1.0},"251":{"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":{"249":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"283":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"185":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":12,"docs":{"1":{"tf":1.0},"195":{"tf":1.0},"196":{"tf":1.0},"23":{"tf":1.0},"259":{"tf":1.0},"260":{"tf":1.0},"263":{"tf":1.0},"268":{"tf":1.0},"270":{"tf":1.0},"271":{"tf":1.4142135623730951},"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"136":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"270":{"tf":1.0}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":7,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"233":{"tf":1.0},"246":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"149":{"tf":1.0},"241":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"154":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"73":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"108":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"97":{"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":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"'":{"df":2,"docs":{"183":{"tf":1.0},"263":{"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":1,"docs":{"273":{"tf":1.0}},"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":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"18":{"tf":1.0},"204":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"144":{"tf":1.0},"146":{"tf":1.0},"251":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"159":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"147":{"tf":1.0},"150":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"116":{"tf":1.0},"261":{"tf":1.0},"264":{"tf":1.0},"272":{"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":{"180":{"tf":1.0},"181":{"tf":1.0},"188":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"136":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"247":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"216":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"44":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"101":{"tf":1.0},"124":{"tf":1.0},"186":{"tf":1.0},"260":{"tf":1.0}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"232":{"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":6,"docs":{"269":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"268":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"108":{"tf":1.0},"127":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":6,"docs":{"1":{"tf":1.0},"230":{"tf":1.0},"236":{"tf":1.0},"237":{"tf":1.0},"244":{"tf":1.0},"3":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"235":{"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":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"166":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"166":{"tf":1.0}}},"df":9,"docs":{"156":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"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":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":10,"docs":{"178":{"tf":1.0},"187":{"tf":1.0},"237":{"tf":1.0},"238":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"4":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"86":{"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":{"244":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"270":{"tf":1.0},"30":{"tf":1.0},"46":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"179":{"tf":1.0},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"267":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"211":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"281":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":11,"docs":{"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"145":{"tf":1.0},"181":{"tf":1.0},"188":{"tf":1.0},"191":{"tf":1.0},"195":{"tf":1.0},"269":{"tf":1.0},"36":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"130":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"200":{"tf":1.0},"201":{"tf":1.0},"253":{"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":{"184":{"tf":1.0}}}}}}}},"p":{"df":1,"docs":{"229":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"194":{"tf":1.0},"2":{"tf":1.0},"214":{"tf":1.0},"228":{"tf":1.0},"271":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"218":{"tf":1.0},"33":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"284":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"219":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"280":{"tf":1.0}}}}},"df":0,"docs":{}},"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":{"246":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"227":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"160":{"tf":1.0},"167":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"c":{"df":1,"docs":{"263":{"tf":1.0}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"204":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"285":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"154":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"167":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"61":{"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":{"88":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"136":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"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":{}},"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"255":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"124":{"tf":1.0},"159":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"263":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"98":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"113":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"151":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"110":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"17":{"tf":1.0},"197":{"tf":1.0},"274":{"tf":1.0},"75":{"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":7,"docs":{"197":{"tf":1.0},"217":{"tf":1.0},"234":{"tf":1.0},"235":{"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":{"74":{"tf":1.0},"75":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"97":{"tf":1.0}}}},"t":{"df":2,"docs":{"53":{"tf":1.0},"61":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"262":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"201":{"tf":1.0},"202":{"tf":1.0},"203":{"tf":1.0},"204":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"268":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"270":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":2,"docs":{"236":{"tf":1.0},"3":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"189":{"tf":1.0},"204":{"tf":1.0},"270":{"tf":1.0},"286":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"251":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"215":{"tf":1.0},"216":{"tf":1.0},"217":{"tf":1.0},"218":{"tf":1.0},"219":{"tf":1.0},"220":{"tf":1.0},"271":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"275":{"tf":1.0},"279":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"287":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":1,"docs":{"250":{"tf":1.0}}}}},"p":{"df":1,"docs":{"289":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"237":{"tf":1.0},"244":{"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":{"139":{"tf":1.0},"141":{"tf":1.0},"247":{"tf":1.0}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"275":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"288":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"11":{"tf":1.0},"126":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"155":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"187":{"tf":1.0},"248":{"tf":1.0},"250":{"tf":1.0},"251":{"tf":1.0},"254":{"tf":1.0},"263":{"tf":1.0},"33":{"tf":1.0}}}}}},"o":{"df":1,"docs":{"267":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":7,"docs":{"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"234":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"246":{"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":2,"docs":{"237":{"tf":1.0},"244":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"255":{"tf":1.0}}}}}},"df":0,"docs":{}}},"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":{"113":{"tf":1.0},"83":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":3,"docs":{"221":{"tf":1.0},"252":{"tf":1.0},"253":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"254":{"tf":1.0},"256":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"211":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"86":{"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":6,"docs":{"158":{"tf":1.0},"166":{"tf":1.0},"171":{"tf":1.0},"255":{"tf":1.0},"266":{"tf":1.0},"280":{"tf":1.0}}}}}}},"i":{"df":3,"docs":{"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"243":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"130":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":3,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"90":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"177":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"246":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"175":{"tf":1.0},"93":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"130":{"tf":1.0},"136":{"tf":1.0},"188":{"tf":1.0},"205":{"tf":1.0},"206":{"tf":1.0},"208":{"tf":1.0},"212":{"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":{"121":{"tf":1.0},"122":{"tf":1.0}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"121":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"290":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":2,"docs":{"157":{"tf":1.0},"170":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"274":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"98":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"278":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"218":{"tf":1.0},"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":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"257":{"tf":1.0}}}}},"u":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"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":{"97":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"280":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"185":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"df":6,"docs":{"135":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"241":{"tf":1.0},"250":{"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":2,"docs":{"1":{"tf":1.0},"170":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"213":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"251":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"163":{"tf":1.0},"172":{"tf":1.0},"258":{"tf":1.0},"277":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":1,"docs":{"216":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":10,"docs":{"269":{"tf":1.0},"291":{"tf":1.0},"56":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"t":{"df":1,"docs":{"1":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"137":{"tf":1.0},"264":{"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":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"187":{"tf":1.0},"270":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"292":{"tf":1.0}}}},"o":{"df":0,"docs":{},"p":{"df":10,"docs":{"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},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"262":{"tf":1.0},"270":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"234":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"270":{"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},"150":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":6,"docs":{"293":{"tf":1.0},"58":{"tf":1.0},"79":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":1,"docs":{"294":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"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":1,"docs":{"259":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":17,"docs":{"17":{"tf":1.0},"190":{"tf":1.0},"191":{"tf":1.0},"196":{"tf":1.0},"197":{"tf":1.0},"198":{"tf":1.0},"204":{"tf":1.0},"265":{"tf":1.0},"266":{"tf":1.0},"276":{"tf":1.0},"278":{"tf":1.0},"281":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"91":{"tf":1.0},"99":{"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":{"160":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"268":{"tf":1.0},"80":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":5,"docs":{"161":{"tf":1.0},"162":{"tf":1.0},"266":{"tf":1.0},"269":{"tf":1.0},"273":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":13,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"183":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"241":{"tf":1.0},"242":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"238":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"109":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"93":{"tf":1.0}}}}},"w":{"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"240":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"118":{"tf":1.0}}}}},"n":{"df":3,"docs":{"110":{"tf":1.0},"137":{"tf":1.0},"75":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"118":{"tf":1.0},"160":{"tf":1.0},"249":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0}}}},"w":{"df":2,"docs":{"31":{"tf":1.0},"41":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"269":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"107":{"tf":1.0},"108":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"170":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"209":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"108":{"tf":1.0},"13":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"212":{"tf":1.0},"73":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"4":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"270":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"240":{"tf":1.0},"32":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"162":{"tf":1.0},"171":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"98":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"186":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"279":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"116":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"225":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"126":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"171":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"181":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"125":{"tf":1.0},"129":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"257":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"139":{"tf":1.0},"217":{"tf":1.0},"218":{"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":4,"docs":{"278":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"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":{"182":{"tf":1.0},"184":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"260":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"64":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"270":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"139":{"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":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"274":{"tf":1.0},"277":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":1,"docs":{"295":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"223":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"134":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"162":{"tf":1.0},"170":{"tf":1.0},"199":{"tf":1.0},"231":{"tf":1.0},"232":{"tf":1.0},"233":{"tf":1.0},"239":{"tf":1.0},"240":{"tf":1.0},"245":{"tf":1.0},"246":{"tf":1.4142135623730951},"251":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"14":{"tf":1.0},"169":{"tf":1.0},"217":{"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":{}}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"1":{"tf":1.0},"143":{"tf":1.0},"214":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"227":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"237":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"296":{"tf":1.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.0}}}}},"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},"89":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"208":{"tf":1.0},"282":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":4,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"186":{"tf":1.0}}}}}},"df":1,"docs":{"247":{"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":{"146":{"tf":1.0},"187":{"tf":1.0},"251":{"tf":1.0},"69":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"126":{"tf":1.0}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"133":{"tf":1.0},"159":{"tf":1.0},"171":{"tf":1.0},"204":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"147":{"tf":1.0},"188":{"tf":1.0},"243":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"138":{"tf":1.0},"175":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"264":{"tf":1.0},"265":{"tf":1.0},"272":{"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":1,"docs":{"217":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"102":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"242":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"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}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"297":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"277":{"tf":1.0}}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"252":{"tf":1.0}}}},"i":{"c":{"df":2,"docs":{"221":{"tf":1.0},"253":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":6,"docs":{"216":{"tf":1.0},"298":{"tf":1.0},"57":{"tf":1.0},"78":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"187":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"85":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"187":{"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":2,"docs":{"134":{"tf":1.0},"199":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"269":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"263":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"116":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"193":{"tf":1.0},"204":{"tf":1.0},"261":{"tf":1.0},"272":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"c":{"df":1,"docs":{"273":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"256":{"tf":1.0}},"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},"68":{"tf":1.0}}}}}}},"i":{"c":{"df":12,"docs":{"1":{"tf":1.0},"112":{"tf":1.0},"148":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"219":{"tf":1.0},"74":{"tf":1.0}}},"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":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"299":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"b":{"df":5,"docs":{"242":{"tf":1.0},"243":{"tf":1.0},"282":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"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":{"301":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":3,"docs":{"300":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"104":{"tf":1.0},"106":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"242":{"tf":1.0},"70":{"tf":1.0},"71":{"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":{"235":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"226":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"172":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.0},"80":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"220":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"228":{"tf":1.0},"271":{"tf":1.0}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":2,"docs":{"249":{"tf":1.0},"80":{"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},"190":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"195":{"tf":1.0},"224":{"tf":1.0},"268":{"tf":1.0},"269":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"261":{"tf":1.0},"263":{"tf":1.0}}}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"234":{"tf":1.0},"238":{"tf":1.0},"242":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":5,"docs":{"101":{"tf":1.0},"124":{"tf":1.0},"259":{"tf":1.0},"263":{"tf":1.0},"271":{"tf":1.0}}}}},"l":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"251":{"tf":1.0}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"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":{"110":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"137":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"188":{"tf":1.0}}},"df":39,"docs":{"1":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"181":{"tf":1.4142135623730951},"186":{"tf":1.0},"200":{"tf":1.0},"201":{"tf":1.0},"209":{"tf":1.0},"220":{"tf":1.0},"45":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.0}},"s":{"/":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"204":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"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":{"138":{"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":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"123":{"tf":1.0}},"p":{"df":3,"docs":{"205":{"tf":1.0},"207":{"tf":1.0},"208":{"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":3,"docs":{"110":{"tf":1.0},"229":{"tf":1.0},"93":{"tf":1.0}}}},"df":9,"docs":{"166":{"tf":1.0},"170":{"tf":1.0},"197":{"tf":1.0},"208":{"tf":1.0},"250":{"tf":1.0},"263":{"tf":1.0},"269":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"181":{"tf":1.0},"188":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"112":{"tf":1.0},"148":{"tf":1.0},"229":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":7,"docs":{"173":{"tf":1.0},"210":{"tf":1.0},"211":{"tf":1.0},"213":{"tf":1.0},"214":{"tf":1.4142135623730951},"216":{"tf":1.0},"219":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"69":{"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":5,"docs":{"153":{"tf":1.0},"160":{"tf":1.0},"177":{"tf":1.0},"217":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"222":{"tf":1.0},"223":{"tf":1.0},"224":{"tf":1.0},"225":{"tf":1.0},"226":{"tf":1.0},"227":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":1,"docs":{"260":{"tf":1.0}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"0":{"tf":1.0},"282":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"184":{"tf":1.0}}},"p":{"df":1,"docs":{"282":{"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":{"122":{"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..ff25f39a --- /dev/null +++ b/static_typing/aliases/aliases.generated_docs.html @@ -0,0 +1,302 @@ + + + + + + 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..dfb102ca --- /dev/null +++ b/static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html @@ -0,0 +1,266 @@ + + + + + + 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..0931db31 --- /dev/null +++ b/static_typing/atoms/atoms.generated_docs.html @@ -0,0 +1,314 @@ + + + + + + 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..6e97e075 --- /dev/null +++ b/static_typing/builtin_colls/builtin_collections.generated_docs.html @@ -0,0 +1,340 @@ + + + + + + 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..01b4ba67 --- /dev/null +++ b/static_typing/builtin_colls/list_type/list_type.generated_docs.html @@ -0,0 +1,315 @@ + + + + + + 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..340690e2 --- /dev/null +++ b/static_typing/builtin_colls/map_type/map_type.generated_docs.html @@ -0,0 +1,305 @@ + + + + + + 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..6899a204 --- /dev/null +++ b/static_typing/builtin_colls/set_type/set_type.generated_docs.html @@ -0,0 +1,270 @@ + + + + + + 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..d9c899af --- /dev/null +++ b/static_typing/builtin_colls/struct_type/struct_type.generated_docs.html @@ -0,0 +1,274 @@ + + + + + + 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..032b2d44 --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html @@ -0,0 +1,360 @@ + + + + + + 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..4b39a622 --- /dev/null +++ b/static_typing/oneofs/narrowing/narrowing.generated_docs.html @@ -0,0 +1,311 @@ + + + + + + "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..d90193b7 --- /dev/null +++ b/static_typing/oneofs/oneofs.generated_docs.html @@ -0,0 +1,296 @@ + + + + + + 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..53ded422 --- /dev/null +++ b/static_typing/static_typing.generated_docs.html @@ -0,0 +1,251 @@ + + + + + + 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..1988a540 --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/concrete_type_inference.generated_docs.html @@ -0,0 +1,278 @@ + + + + + + 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..5d6b311e --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html @@ -0,0 +1,270 @@ + + + + + + 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..3e98a450 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/impossible_recursive_types/impossible_recursive_types.generated_docs.html @@ -0,0 +1,258 @@ + + + + + + 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..d40ae3fb --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html @@ -0,0 +1,288 @@ + + + + + + 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..fd982a3f --- /dev/null +++ b/static_typing/user_defined_types/user_defined_types.generated_docs.html @@ -0,0 +1,344 @@ + + + + + + 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/stdlib/BUILD b/stdlib/BUILD new file mode 100644 index 00000000..5462a7d0 --- /dev/null +++ b/stdlib/BUILD @@ -0,0 +1,52 @@ +load("//src/java/com/claro:claro_build_rules_internal.bzl", "CLARO_STDLIB_MODULES") +load("//stdlib/utils/expand_template:expand_template.bzl", "expand_template") +load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_file") + +# Generate a simple Markdown doc for each StdLib module by simply templating its .claro_module_api file into the page. +# This is suuuper basic and completely non-interactive, but at least does give users a way to look at the modules with +# syntax highlighting. +GENERATED_STDLIB_MODULE_DOCS_TARGETS = [( + genrule( + name = "{0}_module_name".format(module_name), + outs = ["{0}_module_name.txt".format(module_name)], + cmd = "echo {0} > $(OUTS)".format(module_name), + ), + + expand_template( + name = "{0}_module_docs".format(module_name), + template = "stdlib_module.tmpl.md", + substitutions = { + "module_name": "{0}_module_name".format(module_name), + "module_api_file": package_relative_label("//{0}:{1}.claro_module_api".format(package_relative_label(module).package, module_name)), + }, + out = "{0}_module.templatted.md".format(module_name), + ), + + write_source_file( + name = "write_{0}_module_docs".format(module_name), + in_file = "{0}_module_docs".format(module_name), + out_file = "{0}_module.generated_docs.md".format(module_name), + visibility = ["//mdbook_docs/src:__pkg__"], + suggested_update_target = "//mdbook_docs/src:write_all_docs", + ) + ) + +for module_name, module in CLARO_STDLIB_MODULES.items()] + +write_source_file( + name = "write_all_stdlib_docs", + additional_update_targets = ["write_{0}_module_docs".format(module_name) for module_name in CLARO_STDLIB_MODULES], + visibility = ["//mdbook_docs/src:__pkg__"], +) + +# Generate the StdLib's Table of Contents for the MdBook SUMMARY.md file. +MDBOOK_TOC = "\n".join([ + " - [{0}](./stdlib/{0}_module.generated_docs.md)".format(module_name) + for module_name in CLARO_STDLIB_MODULES.keys() +]) +genrule( + name = "mdbook_stdlib_toc", + outs = ["mdbook_stdlib_toc.txt"], + cmd = "echo -e '{0}' > $(OUTS)".format(MDBOOK_TOC), + visibility = ["//mdbook_docs/src:__pkg__"], +) \ No newline at end of file diff --git a/stdlib/booleans_module.generated_docs.html b/stdlib/booleans_module.generated_docs.html new file mode 100644 index 00000000..86bfd7ff --- /dev/null +++ b/stdlib/booleans_module.generated_docs.html @@ -0,0 +1,241 @@ + + + + + + booleans - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    booleans

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +function parseBoolean(s: string) -> boolean;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/default_modules/BUILD b/stdlib/default_modules/BUILD new file mode 100644 index 00000000..68b9c609 --- /dev/null +++ b/stdlib/default_modules/BUILD @@ -0,0 +1,14 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "default_modules", + doc_template = "default_modules.tmpl.md", + examples = [ + "ex1.claro", + { + "example": "EX_BUILD", + "executable": False, + "codeblock_css_class": "python", + }, + ], +) diff --git a/stdlib/default_modules/EX_BUILD b/stdlib/default_modules/EX_BUILD new file mode 100644 index 00000000..e160b901 --- /dev/null +++ b/stdlib/default_modules/EX_BUILD @@ -0,0 +1,8 @@ +claro_binary( + name = "some_binary", + main_file = "some_file.claro", + deps = { + # Deps on modules outside the StdLib require an explicit Build dep. + "SomeDep": "//path/to/some/dep:module", + }, +) diff --git a/stdlib/default_modules/default_modules.generated_docs.html b/stdlib/default_modules/default_modules.generated_docs.html new file mode 100644 index 00000000..d53d0918 --- /dev/null +++ b/stdlib/default_modules/default_modules.generated_docs.html @@ -0,0 +1,265 @@ + + + + + + Default Modules - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Default Modules

    +

    Claro aims to provide an expansive standard library of modules that all Claro programs have an implicit dependency on at +all times. Any of these default StdLib modules can be accessed directly with calls like:

    +

    Fig 1:

    +
    +
     var l: mut [int] = mut [];
    +lists::add(l, 1);
    +lists::add(l, 2);
    + print(l);
    +
    +

    Output:

    +
    mut [1, 2]
    +
    +
    +

    and you never need to manually place an explicit dependency at the BUILD level like you normally would for any other +module outside the StdLib:

    +

    Fig 2:

    +
    +
    claro_binary(
    +    name = "some_binary",
    +    main_file = "some_file.claro",
    +    deps = {
    +        # Deps on modules outside the StdLib require an explicit Build dep.
    +        "SomeDep": "//path/to/some/dep:module",
    +    },
    +)
    +
    +
    +
    +

    The StdLib is a WIP - Recommendations are Welcome!

    +

    Of course, as Claro's still at a very early stage, a certain level of incompleteness has to be expected. Please don't +hesitate to reach out with suggestions in ways that the current standard library could be improved or expanded!

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/default_modules/ex1.claro b/stdlib/default_modules/ex1.claro new file mode 100644 index 00000000..6519ad9b --- /dev/null +++ b/stdlib/default_modules/ex1.claro @@ -0,0 +1,4 @@ +$$ var l: mut [int] = mut []; +lists::add(l, 1); +lists::add(l, 2); +$$ print(l); diff --git a/stdlib/deque_module.generated_docs.html b/stdlib/deque_module.generated_docs.html new file mode 100644 index 00000000..4c412456 --- /dev/null +++ b/stdlib/deque_module.generated_docs.html @@ -0,0 +1,288 @@ + + + + + + deque - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    deque

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # This module simply exposes the functionality from java.util.ArrayDeque<E> to Claro programs. See:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayDeque.html
    +
    +# Deque = "Double-ended queue".
    +opaque newtype mut Deque<E>
    +
    +atom NO_SUCH_ELEMENT
    +atom DEQUE_UNCHANGED
    +
    +provider create<T>() -> Deque<T>;
    +function of<T>(elems: [T]) -> Deque<T>;
    +function withCapacity<T>(initialCapacity: int) -> Deque<T>;
    +
    +consumer addAllToFront<T>(deque: Deque<T>, elems: [T]);
    +
    +consumer addFirst<T>(deque: Deque<T>, t: T);
    +consumer addLast<T>(deque: Deque<T>, t: T);
    +
    +consumer clear<T>(deque: Deque<T>);
    +
    +# TODO(steving) Claro's intended to have support for the builtin `copy()` function. For $java_type's however this can't
    +# TODO(steving)   be automatically generated, so I need some mechanism for $java_type's to provide a function for that
    +# TODO(steving)   copying implementation.
    +function clone<T>(deque: Deque<T>) -> Deque<T>;
    +
    +function contains<T>(deque: Deque<T>, t: T) -> boolean;
    +function containsAll<T>(deque: Deque<T>, elems: [T]) -> boolean;
    +
    +consumer forEach<T>(deque: Deque<T>, action: consumer<T>);
    +
    +function isEmpty<T>(deque: Deque<T>) -> boolean;
    +
    +function peekFirst<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function peekLast<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +
    +function pollFirst<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function pollLast<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +
    +function removeAll<T>(deque: Deque<T>, elems: [T]) -> oneof<std::OK, NO_SUCH_ELEMENT>;
    +function removeElement<T>(deque: Deque<T>, t: T) -> oneof<std::OK, NO_SUCH_ELEMENT>;
    +function removeFirst<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function removeFirstOccurrence<T>(deque: Deque<T>, t: T) -> oneof<std::OK, NO_SUCH_ELEMENT>;
    +function removeIf<T>(deque: Deque<T>, predicate: function<T -> boolean>) -> oneof<std::OK, DEQUE_UNCHANGED>;
    +function removeLast<T>(deque: Deque<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function removeLastOccurrence<T>(deque: Deque<T>, t: T) -> oneof<std::OK, NO_SUCH_ELEMENT>;
    +
    +function retainAll<T>(deque: Deque<T>, elems: [T]) -> oneof<std::OK, DEQUE_UNCHANGED>;
    +
    +function size<T>(deque: Deque<T>) -> int;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/doubles_module.generated_docs.html b/stdlib/doubles_module.generated_docs.html new file mode 100644 index 00000000..d1ca8bfa --- /dev/null +++ b/stdlib/doubles_module.generated_docs.html @@ -0,0 +1,246 @@ + + + + + + doubles - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    doubles

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +newtype InvalidNumberFormat : struct { msg: string }
    +
    +static MAX_VALUE: double;
    +static MIN_VALUE: double;
    +
    +function parseDouble(s: string) -> oneof<double, std::Error<InvalidNumberFormat>>;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/files_module.generated_docs.html b/stdlib/files_module.generated_docs.html new file mode 100644 index 00000000..3d893e7b --- /dev/null +++ b/stdlib/files_module.generated_docs.html @@ -0,0 +1,257 @@ + + + + + + files - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    files

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +# Opaque type whose internal representation is not exposed to consumers. This cannot be unwrapped OR initialized by any
    +# code outside of this module's srcs.
    +opaque newtype Resource
    +newtype IOError : string
    +
    +# Now some claro file could read a resource declared in its build target as:
    +#   claro_module(
    +#     name = "foo",
    +#     module_api_file = "foo.claro_module_api",
    +#     srcs = ["foo.claro"],
    +#     resources = {"MyFile": "myfile.txt"},
    +#   }
    +# Inside `foo.claro`:
    +#   var fileContents: string = files::readOrPanic(resources::MyFile);
    +function read(resource: Resource) -> oneof<string, std::Error<IOError>>;
    +function readOrPanic(resource: Resource) -> string;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/floats_module.generated_docs.html b/stdlib/floats_module.generated_docs.html new file mode 100644 index 00000000..b97a0ac6 --- /dev/null +++ b/stdlib/floats_module.generated_docs.html @@ -0,0 +1,246 @@ + + + + + + floats - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    floats

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +newtype InvalidNumberFormat : struct { msg: string }
    +
    +static MAX_VALUE: float;
    +static MIN_VALUE: float;
    +
    +function parseFloat(s: string) -> oneof<float, std::Error<InvalidNumberFormat>>;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/fp_module.generated_docs.html b/stdlib/fp_module.generated_docs.html new file mode 100644 index 00000000..daef9828 --- /dev/null +++ b/stdlib/fp_module.generated_docs.html @@ -0,0 +1,244 @@ + + + + + + fp - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    fp

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +function map<A, B>(l: [A], fn: function<A -> B>) -> [B];
    +function filter<A>(l: [A], pred: function<A -> boolean>) -> [A];
    +function reduce<A, B>(l: [A], fn: function<|B, A| -> B>, accum: B) -> B;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/futures_module.generated_docs.html b/stdlib/futures_module.generated_docs.html new file mode 100644 index 00000000..9b3ae72d --- /dev/null +++ b/stdlib/futures_module.generated_docs.html @@ -0,0 +1,325 @@ + + + + + + futures - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    futures

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +# Creates a `future` which has its value set immediately upon construction. The getters just return the value. This
    +# `future` can't be canceled or timed out and `futures::isDone(futures::immediateFuture(...))` always returns true.
    +function immediateFuture<T>(t: T) -> future<T>;
    +
    +# Creates a `future` which is cancelled immediately upon construction, so that `futures::isCancelled` always returns `true`.
    +provider immediateCancelledFuture<T>() -> future<T>;
    +
    +# Executes the given tasks, returning a list of Futures holding their status and results when all complete.
    +function invokeAll<T>(tasks: [provider<T>]) -> [future<T>];
    +
    +# Attempts to cancel execution of this task. This attempt will fail if the task has already completed, has already been
    +# cancelled, or could not be cancelled for some other reason. If successful, and this task has not started when cancel
    +# is called, this task should never run. If the task has already started, then the mayInterruptIfRunning parameter
    +# determines whether the thread executing this task should be interrupted in an attempt to stop the task.
    +#
    +# After this method returns, subsequent calls to `futures::isDone` will always return true. Subsequent calls to
    +# isCancelled() will always return true if this method returned true.
    +#
    +# Returns: `false` if the task could not be cancelled, typically because it has already completed normally; `true` otherwise.
    +function cancel<T>(f: future<T>, mayInterrupt: boolean) -> boolean;
    +
    +# Returns `true` if this task was cancelled before it completed normally, else `false`.
    +function isCancelled<T>(f: future<T>) -> boolean;
    +
    +# Returns `true` if this task completed. Completion may be due to normal termination, a Panic, or cancellation -- in all
    +# of these cases, this method will return `true`.
    +function isDone<T>(f: future<T>) -> boolean;
    +
    +# Creates a new `future` whose value is a list containing the values of all its input `future`s, if all succeed. The
    +# list of results is in the same order as the input list.
    +#
    +# Canceling this returned `future` will attempt to cancel all the component `future`s, and if any of the provided
    +# `future`s fails or is canceled, this one is, too.
    +function allAsList<T>(futures: [future<T>]) -> future<[T]>;
    +
    +# Creates a `future` that runs the given provider when the futures complete whether or not they're successful.
    +# Canceling this future will attempt to cancel all the component futures.
    +function whenAllComplete<T, V>(futures: [future<T>], action: provider<V>) -> future<V>;
    +function whenAllCompleteAsync<T, V>(futures: [future<T>], action: provider<future<V>>) -> future<V>;
    +
    +# Creates a `future` that runs the given provider requiring that all passed in futures are successful. If any input
    +# fails, the returned future fails immediately. Canceling this future will attempt to cancel all the component futures.
    +function whenAllSucceed<T, V>(futures: [future<T>], action: provider<V>) -> future<V>;
    +function whenAllSucceedAsync<T, V>(futures: [future<T>], action: provider<future<V>>) -> future<V>;
    +
    +# Creates a new `future` whose value is a list containing the values of all its successful input futures. The list of
    +# results is in the same order as the input list, and if any of the provided futures Panics or is canceled, its
    +# corresponding position will contain `futures::DID_NOT_SUCCEED`. Canceling this future will attempt to cancel all the
    +# component futures.
    +function successfulAsList<T>(futures: [future<T>]) -> future<[T]>;
    +
    +# Returns a list of delegate futures that correspond to the futures received in the order that they complete. Delegate
    +# futures return the same value as the corresponding input future returns.
    +#
    +# "In the order that they complete" means, for practical purposes, about what you would expect, but there are some
    +# subtleties. First, we do guarantee that, if the output future at index n is done, the output future at index n-1 is
    +# also done. (But as usual with futures, some listeners for future n may complete before some for future n-1.) However,
    +# it is possible, if one input completes with result X and another later with result Y, for Y to come before X in the
    +# output future list. (Such races are impossible to solve without global synchronization of all future completions. And
    +# they should have little practical impact.)
    +#
    +# Cancelling a delegate future propagates to input futures once all the delegates complete, either from cancellation or
    +# because an input future has completed. If N futures are passed in, and M delegates are cancelled, the remaining M
    +# input futures will be cancelled once N - M of the input futures complete. If all the delegates are cancelled, all the
    +# input futures will be too.
    +function inCompletionOrder<T>(futures: [future<T>]) -> [future<T>];
    +
    +# Schedules action on given delay on the default single-threaded scheduled executor service (separate from the default
    +# multi-threaded graph executor service). Actions scheduled via this function will be executed in FIFO order.
    +function schedule<T>(action: provider<T>, delay: duration::Duration) -> future<T>;
    +function scheduleAsync<T>(action: provider<future<T>>, delay: duration::Duration) -> future<T>;
    +
    +# Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with
    +# the given period; that is executions will commence after initialDelay then initialDelay+period, then
    +# initialDelay + 2 * period, and so on.
    +# TODO(steving) Claro really should probably have another procedure type ala "runnable" or "action" or something rather
    +# TODO(steving)   than this somewhat nonsensical consumer<std::Nothing>.
    +function scheduleAtFixedRate(
    +  action: consumer<std::Nothing>, initialDelay: duration::Duration, period: duration::Duration) -> future<std::Nothing>;
    +
    +# Creates and executes a periodic action that becomes enabled first after the given initial delay, and subsequently with
    +# the given delay between the termination of one execution and the commencement of the next.
    +function scheduleWithFixedDelay(
    +  action: consumer<std::Nothing>, initialDelay: duration::Duration, delay: duration::Duration) -> future<std::Nothing>;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/ints_module.generated_docs.html b/stdlib/ints_module.generated_docs.html new file mode 100644 index 00000000..68b1794d --- /dev/null +++ b/stdlib/ints_module.generated_docs.html @@ -0,0 +1,245 @@ + + + + + + ints - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    ints

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    static MAX_VALUE: int;
    +static MIN_VALUE: int;
    +
    +newtype InvalidNumberFormat : struct { msg: string }
    +
    +function parseInt(s: string) -> oneof<int, std::Error<InvalidNumberFormat>>;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/lists_module.generated_docs.html b/stdlib/lists_module.generated_docs.html new file mode 100644 index 00000000..588b6bc1 --- /dev/null +++ b/stdlib/lists_module.generated_docs.html @@ -0,0 +1,379 @@ + + + + + + lists - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    lists

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # This module simply provides access to the functionality described in:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
    +# The signatures found here in this module are not a 1:1 match with the signatures in their Java equivalents, however,
    +# as all error cases have been intentionally modelled as proper return values wrapped in std::Error<...>. In this way,
    +# interacting with any procedures defined in this module will be inherently safe.
    +
    +# TODO(steving) Claro needs some sort of Collection<T> contract or something so that duplicated procedures aren't needed
    +# TODO(steving)     for mut/immut cases.
    +
    +# TODO(steving) If at all possible, ClaroList.java should be refactored so that it *contains* a List rather than extends
    +# TODO(steving)     ArrayList directly so that functionality directly from Guava's Lists class can be directly added to
    +# TODO(steving)     this module w/o losing the performance wins of their "views".
    +# TODO(steving)   - https://guava.dev/releases/23.0/api/docs/com/google/common/collect/Lists.html
    +
    +newtype IndexOutOfBounds : struct {index: int, size: int}
    +newtype IndicesOutOfOrder : struct {invalidLowerBound: int, invalidUpperBound: int}
    +newtype InvalidCapacity : int
    +newtype ElementNotFound<T> : T
    +
    +# Appends the specified element to the end of this list.
    +consumer add<T>(l: mut [T], toAdd: T);
    +
    +# Appends all of the elements in the second list to the end of the first list, in the order they appear in the second.
    +# The behavior of this call is undefined if both args reference the same non-empty list.
    +#
    +# Returns: `true` if this list changed as a result of the call, else `false`.
    +function addAll<T>(l: mut [T], toAdd: [T]) -> boolean;
    +function addAllFromMut<T>(l: mut [T], toAdd: mut [T]) -> boolean;
    +
    +# Removes all of the elements from this list. The list will be empty after this call returns.
    +consumer clear<T>(l: mut [T]);
    +
    +# Returns: true if this list contains the specified element, else `false`.
    +function contains<T>(l: [T], elem: T) -> boolean;
    +function containsInMut<T>(l: mut [T], elem: T) -> boolean;
    +
    +# Returns: true if this list contains all of the elements of the specified collection, else `false`.
    +function containsAll<T>(l: [T], elems: [T]) -> boolean;
    +function containsAllFromMut<T>(l: [T], elems: mut [T]) -> boolean;
    +function containsAllInMut<T>(l: mut [T], elems: [T]) -> boolean;
    +function containsAllInMutFromMut<T>(l: mut [T], elems: mut [T]) -> boolean;
    +
    +# Increases the capacity of this list instance, if necessary, to ensure that it can hold at least the number of elements
    +# specified by the minimum capacity argument.
    +consumer ensureCapacity<T>(l: mut [T], minCapacity: int);
    +
    +# Performs the given action for each element.
    +consumer forEach<T>(l: [T], action: consumer<T>);
    +consumer forEachInMut<T>(l: mut [T], action: consumer<T>);
    +
    +# Returns the element at the specified position in this list. This is a bounds-checked alternative to directly accessing
    +# via the unsafe `[]` which may result in a runtime Panic.
    +function getAt<T>(l: [T], index: int) -> oneof<T, std::Error<IndexOutOfBounds>>;
    +function getAtInMut<T>(l: mut [T], index: int) -> oneof<T, std::Error<IndexOutOfBounds>>;
    +
    +# Returns: the index of the first occurrence of the specified element in this list, or -1 if this list does not contain
    +#          the element.
    +function indexOf<T>(l: [T], t: T) -> oneof<int, std::Error<ElementNotFound<T>>>;
    +function indexOfInMut<T>(l: mut [T], t: T) -> oneof<int, std::Error<ElementNotFound<T>>>;
    +
    +# Inserts all of the elements in the second list into the first list, starting at the specified position. Shifts the
    +# element currently at that position (if any) and any subsequent elements to the right (increases their indices). The
    +# new elements will appear in the first list in the order that they occur in the second list.
    +#
    +# Returns: `true` if this list changed as a result of the call, else `false`.
    +function insertAllAt<T>(l: mut [T], index: int, elems: [T]) -> oneof<boolean, std::Error<IndexOutOfBounds>>;
    +function insertAllAtFromMut<T>(l: mut [T], index: int, elems: mut [T]) -> oneof<boolean, std::Error<IndexOutOfBounds>>;
    +
    +# Inserts the specified element at the specified position in this list. Shifts the element currently at that position
    +# (if any) and any subsequent elements to the right (adds one to their indices).
    +function insertAt<T>(l: mut [T], index: int, t: T) -> oneof<std::OK, std::Error<IndexOutOfBounds>>;
    +
    +# Returns: `true` if this list contains no elements, else `false`.
    +function isEmpty<T>(l: [T]) -> boolean;
    +function isEmptyInMut<T>(l: mut [T]) -> boolean;
    +
    +# Returns: the index of the last occurrence of the specified element in this list, or -1 if this list does not contain
    +#          the element.
    +function lastIndexOf<T>(l: [T], t: T) -> oneof<int, std::Error<ElementNotFound<T>>>;
    +function lastIndexOfInMut<T>(l: mut [T], t: T) -> oneof<int, std::Error<ElementNotFound<T>>>;
    +
    +# Removes from this list all of its elements that are contained in the specified collection.
    +#
    +# Returns: `true` if this list changed as a result of the call, else `false`.
    +function removeAll<T>(l: mut [T], toRemove: [T]) -> boolean;
    +function removeAllFromMut<T>(l: mut [T], toRemove: mut [T]) -> boolean;
    +
    +# TODO(steving) Drop `remove()` as builtin token from lexer/parser so that this isn't duplicated.
    +# Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one
    +# from their indices).
    +#
    +# Returns: the element that was removed from the list.
    +function removeAt<T>(l: mut [T], index: int) -> oneof<T, std::Error<IndexOutOfBounds>>;
    +
    +# Removes the first occurrence of the specified element from this list, if it is present. If the list does not contain
    +# the element, it is unchanged.
    +#
    +# Returns: `true` if this list contained the specified element, else `false`.
    +function removeFirst<T>(l: mut [T], t: T) -> boolean;
    +
    +# Removes all of the elements of this list that satisfy the given predicate.
    +#
    +# Returns: `true` if any elements were removed, else `false`.
    +function removeIf<T>(l: mut [T], pred: function<T -> boolean>) -> boolean;
    +
    +# Replaces each element of this list with the result of applying the operator to that element.
    +consumer replaceAll<T>(l: mut [T], operator: function<T -> T>);
    +
    +# Retains only the elements in the first list that are contained in the second list. In other words, removes from the
    +# first list all of its elements that are not contained in the second list.
    +#
    +# Returns: `true` if this list changed as a result of the call, else `false`.
    +function retainAll<T>(l: mut [T], toRetain: [T]) -> boolean;
    +function retainAllFromMut<T>(l: mut [T], toRetain: mut [T]) -> boolean;
    +
    +# Replaces the element at the specified position in this list with the specified element. This is a bounds-checked
    +# alternative to directly setting via the unsafe `l[index] = ...` which may result in a runtime Panic.
    +function setAt<T>(l: mut [T], index: int, t: T) -> oneof<T, std::Error<IndexOutOfBounds>>;
    +
    +# Sorts this list according to the order induced by the specified comparator.
    +# For detailed explanation of "comparators", see: https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html
    +consumer sort<T>(l: mut [T], comparator: function<|T, T| -> int>);
    +
    +# Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If
    +# `fromInclusive` and `toExclusive` are equal, the returned list is empty.)
    +function subList<T>(l: [T], fromInclusive: int, toExclusive: int)
    +    -> oneof<[T], std::Error<IndexOutOfBounds>, std::Error<IndicesOutOfOrder>>;
    +# TODO(steving) If at all possible, ClaroList.java should be refactored so that it *contains* a List rather than extends
    +# TODO(steving)     ArrayList directly so that subListOfMut() can return a proper "view".
    +# TODO(steving)   - https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#addAll-int-java.util.Collection-:~:text=This%20method%20eliminates,from%2C%20to).clear()%3B
    +function subListOfMut<T>(l: mut [T], fromInclusive: int, toExclusive: int)
    +    -> oneof<mut [T], std::Error<IndexOutOfBounds>, std::Error<IndicesOutOfOrder>>;
    +
    +# Trims the capacity of this list instance to be the list's current size. An application can use this operation to
    +# minimize the storage of a list instance.
    +consumer trimToSize<T>(l: mut [T]);
    +
    +# Constructs an empty list with the specified initial capacity.
    +function withInitialCapacity<T>(capacity: int) -> oneof<mut [T], std::Error<InvalidCapacity>>;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/longs_module.generated_docs.html b/stdlib/longs_module.generated_docs.html new file mode 100644 index 00000000..9367d7ac --- /dev/null +++ b/stdlib/longs_module.generated_docs.html @@ -0,0 +1,246 @@ + + + + + + longs - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    longs

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +newtype InvalidNumberFormat : struct { msg: string }
    +
    +static MAX_VALUE: long;
    +static MIN_VALUE: long;
    +
    +function parseLong(s: string) -> oneof<long, std::Error<InvalidNumberFormat>>;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/maps_module.generated_docs.html b/stdlib/maps_module.generated_docs.html new file mode 100644 index 00000000..e995f4ae --- /dev/null +++ b/stdlib/maps_module.generated_docs.html @@ -0,0 +1,419 @@ + + + + + + maps - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    maps

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # This module simply provides access to the functionality described in:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
    +# The signatures found here in this module are not a 1:1 match with the signatures in their Java equivalents, however,
    +# as all error cases have been intentionally modelled as proper return values wrapped in std::Error<...>. In this way,
    +# interacting with any procedures defined in this module will be inherently safe.
    +
    +# TODO(steving) Claro needs some sort of Map<T> contract or something so that duplicated procedures aren't needed
    +# TODO(steving)     for mut/immut cases.
    +
    +# TODO(steving) If at all possible, ClaroMap.java & ClaroSet.java should be refactored to *contains* a collection rather
    +# TODO(steving)     than extending the Java collections directly so that functionality directly from Guava's Maps
    +# TODO(steving)     class can be directly added to this module w/o losing the performance wins of their "views".
    +# TODO(steving)   - https://guava.dev/releases/22.0/api/docs/com/google/common/collect/Maps.html
    +
    +
    +# Returns true if this map contains no key-value mappings.
    +function isEmpty<K,V>(m: {K:V}) -> boolean;
    +function isEmptyMut<K,V>(m: mut {K:V}) -> boolean;
    +
    +# Returns true if this map maps one or more keys to the specified value. This operation will require time linear in the map size.
    +function containsValue<K,V>(m: {K:V}, v: V) -> boolean;
    +function containsValueInMut<K,V>(m: mut {K:V}, v: V) -> boolean;
    +
    +# 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;
    +function getOrDefaultFromMut<K,V>(m: mut {K:V}, k: K, defaultValue: V) -> V;
    +
    +# Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.
    +consumer clear<K,V>(m: mut {K:V});
    +
    +# Returns an immutable set containing the keys of this map.
    +function keySet<K,V>(m: {K:V}) -> {K};
    +# Returns an immutable set containing the keys of this map. Changes made to the original map *do not* have any affect on
    +# the returned set.
    +function keySetOfMut<K,V>(m: mut {K:V}) -> {K};
    +
    +# Returns a mutable set containing the keys of this map. Changes made to either collection have no affect on the other.
    +function mutKeySet<K,V>(m: {K:V}) -> mut {K};
    +function mutKeySetOfMut<K,V>(m: mut {K:V}) -> mut {K};
    +
    +# TODO(steving) If at all possible, ClaroSet.java should be refactored so that it *contains* a Set rather than extends
    +# TODO(steving)     HashSet<T> directly so that maps::mutKeySetOfMut() can return a proper "view".
    +# TODO(steving)   - https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#clear--:~:text=Returns%20a%20Set%20view%20of%20the%20keys%20contained%20in%20this%20map.%20The%20set%20is%20backed%20by%20the%20map%2C%20so%20changes%20to%20the%20map%20are%20reflected%20in%20the%20set%2C%20and%20vice%2Dversa.
    +#function mutKeySetViewOfMut<K,V>(m: mut {K:V}) -> mut {K};
    +
    +# Returns an immutable set containing the values of this map.
    +function values<K,V>(m: {K:V}) -> {V};
    +# Returns an immutable set containing the values of this map. Changes made to the original map *do not* have any affect on
    +# the returned set.
    +function valuesOfMut<K,V>(m: mut {K:V}) -> {V};
    +
    +# Returns a mutable set containing the values of this map. Changes made to either collection have no affect on the other.
    +function mutValues<K,V>(m: {K:V}) -> mut {V};
    +function mutValuesOfMut<K,V>(m: mut {K:V}) -> mut {V};
    +
    +# Returns an immutable set of the mappings contained in this map.
    +function entrySet<K,V>(m: {K:V}) -> {tuple<K, V>};
    +# Returns an immutable set of the mappings contained in this map. Changes made to the original map *do not* have any
    +# affect on the returned set.
    +function entrySetOfMut<K,V>(m: mut {K:V}) -> {tuple<K, V>};
    +
    +# Returns a mutable set of the mappings contained in this map.
    +function mutEntrySet<K,V>(m: {K:V}) -> mut {tuple<K, V>};
    +# Returns a mutable set of the mappings contained in this map. Changes made to either collection have no affect on the other.
    +function mutEntrySetOfMut<K,V>(m: mut {K:V}) -> mut {tuple<K, V>};
    +
    +# Performs the given action for each entry in this map until all entries have been processed.
    +consumer forEach<K,V>(m: {K:V}, action: consumer<K,V>);
    +consumer forEachInMut<K,V>(m: mut {K:V}, action: consumer<K,V>);
    +
    +# Replaces each entry's value with the result of invoking the given function on that entry until all entries have been
    +# processed.
    +consumer replaceAll<K,V>(m: mut {K:V}, mapper: function<|K, V| -> V>);
    +
    +# Associates the specified value with the specified key in this map. If the map previously contained a mapping for the
    +# key, the old value is replaced by the specified value.
    +#
    +# Returns: the previous value associated with key, or `maps::PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY` if there was no
    +#          mapping for key.
    +atom PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY
    +function put<K,V>(m: mut {K:V}, k: K, v: V) -> oneof<V, PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY>;
    +
    +# Copies all of the mappings from the specified map to this map. The effect of this call is equivalent to that of
    +# calling `maps::put(m, k, v)` on this map once for each mapping from key k to value v in the specified map.
    +consumer putAll<K,V>(m: mut {K:V}, from: {K:V});
    +consumer putAllFromMut<K,V>(m: mut {K:V}, from: mut {K:V});
    +
    +# If the specified key is not already associated with a value, associates it with the given value and returns
    +# `maps::PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY`, else returns the current value.
    +function putIfAbsent<K,V>(m: mut {K:V}, k: K, v: V) -> oneof<V, PUT_VALUE_FOR_PREVIOUSLY_ABSENT_KEY>;
    +
    +# Removes the mapping for a key from this map if it is present.
    +#
    +# Returns: the value to which this map previously associated the key, or `maps::KeyNotFound<K>` if the map contained no
    +#          mapping for the key.
    +function removeKey<K,V>(m: mut {K:V}, k: K) -> oneof<V, KeyNotFound<K>>;
    +
    +# Removes the entry for the specified key only if it is currently mapped to the specified value.
    +function removeEntry<K,V>(m: mut {K:V}, k: K, v: V) -> boolean;
    +
    +# Replaces the entry for the specified key only if currently mapped to the specified value.
    +#
    +# Returns: `true` if the value was replaced, else `false`.
    +function replaceEntry<K,V>(m: mut {K:V}, k: K, oldValue: V, newValue: V) -> boolean;
    +
    +# Replaces the entry for the specified key only if it is currently mapped to some value.
    +#
    +# Returns: the previous value associated with the specified key, or `std::Error<maps::KeyNotFound<K>>` if there was no
    +#          mapping for the key.
    +newtype KeyNotFound<K> : K
    +function replace<K,V>(m: mut {K:V}, k: K, newValue: V) -> oneof<V, std::Error<KeyNotFound<K>>>;
    +
    +# If the specified key is not already associated with a value, attempts to compute its value using the given mapping
    +# function and enters it into this map, unless the function returns `maps::DoNotUpdate<K>` in which case no mapping is
    +# recorded.
    +#
    +# Returns: the current (existing or computed) value associated with the specified key, or propagates any
    +#          `maps::DoNotUpdate<K>` returned by `mapper`.
    +newtype DoNotUpdate<K> : K
    +function computeIfAbsent<K,V>(
    +  m: mut {K:V},
    +  k: K,
    +  mapper: function<K -> oneof<V, std::Error<DoNotUpdate<K>>>>)
    +    -> oneof<V, std::Error<DoNotUpdate<K>>>;
    +
    +# If the value for the specified key is present, attempts to compute a new mapping given the key and its current mapped
    +# value. If the function returns `maps::REMOVE_ENTRY`, the mapping is removed.
    +#
    +# Returns: the new value associated with the specified key, propagates `maps::REMOVE_ENTRY` if the entry was removed, or
    +#          `maps::KeyNotFound<K>` if the key was not present in the map.
    +atom REMOVE_ENTRY
    +function computeIfPresent<K,V>(
    +  m: mut {K:V},
    +  k: K,
    +  remapper: function<|K, V| -> oneof<V, REMOVE_ENTRY>>)
    +    -> oneof<V, REMOVE_ENTRY, std::Error<KeyNotFound<K>>>;
    +
    +# Attempts to compute a mapping for the specified key and its current mapped value (or `maps::KeyNotFound<K>` if there
    +# is no current mapping). For example, to either create or append a string msg to a value mapping:
    +#
    +#  maps::compute(
    +#     someMap,
    +#     key,
    +#     lambda (k, v) -> {
    +#       if (v instanceof maps::KeyNotFound<K>) {
    +#         return msg;
    +#       }
    +#       return "{v}{msg}";
    +#     }
    +#  );
    +#  (Method merge() is often simpler to use for such purposes.)
    +#
    +# If the function returns `maps::REMOVE_ENTRY`, the mapping is removed (or remains absent if initially absent).
    +#
    +# Returns: the new value associated with the specified key, or propagates `maps::REMOVE_ENTRY` if the entry was removed.
    +function compute<K,V>(
    +  m: mut {K:V},
    +  k: K,
    +  remapper: function<|K, oneof<V, KeyNotFound<K>>| -> oneof<V, REMOVE_ENTRY>>)
    +    -> oneof<V, REMOVE_ENTRY>;
    +
    +# If the specified key is not already associated with a value, associates it with the given value. Otherwise, replaces
    +# the associated value with the results of the given remapping function, or removes if the result is
    +# `maps::REMOVE_ENTRY`. This method may be of use when combining multiple mapped values for a key. For example, to
    +# either create or append a String msg to a value mapping:
    +#
    +#   maps::merge(someMap, key, msg, lambda (oldVal, newVal) -> {
    +#     match (newVal) {
    +#       case _:maps::REMOVE_ENTRY -> return newVal;
    +#       case _                    -> return "{oldVal}{newVal}";
    +#     }
    +#   });
    +#
    +# Returns: the new value associated with the specified key, or propagates `std::REMOVE_ENTRY` if the entry was removed.
    +function merge<K,V>(
    +  m: mut {K:V},
    +  k: K,
    +  v: oneof<V, REMOVE_ENTRY>,
    +  remapper: function<|V, oneof<V, REMOVE_ENTRY>| -> oneof<V, REMOVE_ENTRY>>)
    +    -> oneof<V, REMOVE_ENTRY>;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/math_module.generated_docs.html b/stdlib/math_module.generated_docs.html new file mode 100644 index 00000000..94438eab --- /dev/null +++ b/stdlib/math_module.generated_docs.html @@ -0,0 +1,265 @@ + + + + + + math - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    math

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +function absInt(i: int) -> int;
    +function absDouble(d: double) -> double;
    +function absFloat(f: float) -> float;
    +
    +function ceiling(d: double) -> double;
    +function ceilingFloat(f: float) -> float;
    +
    +function floor(d: double) -> double;
    +function floorFloat(f: float) -> float;
    +
    +function maxInt(a: int, b: int) -> int;
    +function maxDouble(a: double, b: double) -> double;
    +function maxFloat(a: float, b: float) -> float;
    +
    +function minInt(a: int, b: int) -> int;
    +function minDouble(a: double, b: double) -> double;
    +function minFloat(a: float, b: float) -> float;
    +
    +function roundDownToInt(d: double) -> int;
    +function roundUpToInt(d: double) -> int;
    +function roundFloatDownToInt(f: float) -> int;
    +function roundFloatUpToInt(f: float) -> int;
    +
    +function sqrt(d: double) -> double;
    +function sqrtFloat(f: float) -> float;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/priority_queue_module.generated_docs.html b/stdlib/priority_queue_module.generated_docs.html new file mode 100644 index 00000000..95b8d6e2 --- /dev/null +++ b/stdlib/priority_queue_module.generated_docs.html @@ -0,0 +1,255 @@ + + + + + + priority_queue - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    priority_queue

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +opaque newtype mut PriorityQueue<E>
    +
    +atom NO_SUCH_ELEMENT
    +
    +provider create<T>() -> PriorityQueue<T>;
    +function of<T>(elems: [T]) -> PriorityQueue<T>;
    +function withInitialCapacity<T>(initialCapacity: int) -> PriorityQueue<T>;
    +
    +function peek<T>(pq: PriorityQueue<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +function poll<T>(pq: PriorityQueue<T>) -> oneof<T, NO_SUCH_ELEMENT>;
    +consumer add<T>(pq: PriorityQueue<T>, t: T);
    +
    +function removeElement<T>(pq: PriorityQueue<T>, t: T) -> boolean;
    +
    +function size<T>(pq: PriorityQueue<T>) -> int;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/random_module.generated_docs.html b/stdlib/random_module.generated_docs.html new file mode 100644 index 00000000..fb7f38d3 --- /dev/null +++ b/stdlib/random_module.generated_docs.html @@ -0,0 +1,256 @@ + + + + + + random - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    random

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +opaque newtype RandomNumberGenerator
    +
    +# See: https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#random--
    +provider doubleInUnitInterval() -> double;
    +
    +provider create() -> RandomNumberGenerator;
    +# TODO(steving) Update this to take a `long` once supported.
    +function forSeed(seed: int) -> RandomNumberGenerator;
    +
    +function nextBoolean(rng: RandomNumberGenerator) -> boolean;
    +function nextDouble(rng: RandomNumberGenerator) -> double;
    +function nextFloat(rng: RandomNumberGenerator) -> float;
    +function nextInt(rng: RandomNumberGenerator) -> int;
    +function nextNonNegativeBoundedInt(rng: RandomNumberGenerator, exclusiveUpperBound: int) -> int;
    +
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/scanner_module.generated_docs.html b/stdlib/scanner_module.generated_docs.html new file mode 100644 index 00000000..8f22e566 --- /dev/null +++ b/stdlib/scanner_module.generated_docs.html @@ -0,0 +1,274 @@ + + + + + + scanner - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    scanner

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +# Not thread safe.
    +opaque newtype mut Scanner
    +
    +atom NO_MORE_TOKENS
    +atom PATTERN_NOT_FOUND
    +atom ILLEGAL_NEGATIVE_HORIZON
    +atom INPUT_MISMATCH
    +
    +provider forStdIn() -> Scanner;
    +function forString(toScan: string) -> Scanner;
    +
    +function useDelimiter(sc: Scanner, pattern: string) -> Scanner;
    +function reset(sc: Scanner) -> Scanner;
    +
    +blocking function findInLine(sc: Scanner, pattern: string) -> oneof<string, PATTERN_NOT_FOUND>;
    +blocking function findWithinHorizon(sc: Scanner, pattern: string, horizon: int)
    +    -> oneof<string, PATTERN_NOT_FOUND, ILLEGAL_NEGATIVE_HORIZON>;
    +
    +blocking function hasNextToken(sc: Scanner) -> boolean;
    +blocking function hasNextPattern(sc: Scanner, pattern: string) -> boolean;
    +blocking function hasNextBoolean(sc: Scanner) -> boolean;
    +blocking function hasNextFloat(sc: Scanner) -> boolean;
    +blocking function hasNextInt(sc: Scanner) -> boolean;
    +blocking function hasNextLine(sc: Scanner) -> boolean;
    +
    +blocking function nextToken(sc: Scanner) -> oneof<string, NO_MORE_TOKENS>;
    +blocking function nextMatch(sc: Scanner, pattern: string) -> oneof<string, NO_MORE_TOKENS>;
    +blocking function nextBoolean(sc: Scanner) -> oneof<boolean, INPUT_MISMATCH, NO_MORE_TOKENS>;
    +blocking function nextFloat(sc: Scanner) -> oneof<float, INPUT_MISMATCH, NO_MORE_TOKENS>;
    +blocking function nextInt(sc: Scanner) -> oneof<int, INPUT_MISMATCH, NO_MORE_TOKENS>;
    +blocking function nextLine(sc: Scanner) -> oneof<string, INPUT_MISMATCH, NO_MORE_TOKENS>;
    +
    +blocking function skipPattern(sc: Scanner, pattern: string)
    +    -> struct { scanner: Scanner, res: oneof<std::OK, PATTERN_NOT_FOUND> };
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/sets_module.generated_docs.html b/stdlib/sets_module.generated_docs.html new file mode 100644 index 00000000..b456e1ca --- /dev/null +++ b/stdlib/sets_module.generated_docs.html @@ -0,0 +1,337 @@ + + + + + + sets - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    sets

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # This module simply provides access to the functionality described in:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/util/Set.html
    +
    +# TODO(steving) Claro needs some sort of Collection<T> contract so that these procedures can avoid duplication for the
    +# TODO(steving)     various combinations of mutability annotations.
    +
    +# TODO(steving) If at all possible, ClaroSet.java should be refactored so that it *contains* a Set rather than extends
    +# TODO(steving)     HashSet directly so that functionality directly from Guava's Sets class can be directly added to
    +# TODO(steving)     this module w/o losing the performance wins of their "views".
    +# TODO(steving)   - https://guava.dev/releases/23.0/api/docs/com/google/common/collect/Sets.html
    +
    +
    +provider emptySet<T>() -> {T};
    +provider emptyMutSet<T>() -> mut {T};
    +
    +# 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;
    +
    +# Adds all of the elements in the specified collection to this set if they're not already present.
    +#
    +# Returns: true if the set changed as a result of the call.
    +function addAllFromList<T>(s: mut {T}, toAdd: [T]) -> boolean;
    +function addAllFromMutList<T>(s: mut {T}, toAdd: mut [T]) -> boolean;
    +# Adds all of the elements in the second set to the first set if they're not already present. This operation effectively
    +# modifies the first set so that its value is the union of the two sets.
    +#
    +# Returns: true if the first set changed as a result of the call.
    +function addAllFromSet<T>(s: mut {T}, toAdd: {T}) -> boolean;
    +function addAllFromMutSet<T>(s: mut {T}, toAdd: mut {T}) -> boolean;
    +
    +# Removes all of the elements from this set. The set will be empty after this call returns.
    +consumer clear<T>(s: mut {T});
    +
    +# Returns true if this set contains all of the elements of the specified collection.
    +function containsAll<T>(s: {T}, elems: [T]) -> boolean;
    +function containsAllFromMut<T>(s: {T}, elems: mut [T]) -> boolean;
    +function containsAllInMut<T>(s: mut {T}, elems: [T]) -> boolean;
    +function containsAllInMutFromMut<T>(s: mut {T}, elems: mut [T]) -> boolean;
    +
    +# Performs the given action for each element.
    +consumer forEach<T>(s: {T}, action: consumer<T>);
    +consumer forEachInMut<T>(s: mut {T}, action: consumer<T>);
    +
    +# This method returns true if the first set is a superset of the second set. Note, this procedure returns true if the
    +# two sets are equal.
    +function isSuperset<T>(s: {T}, other: {T}) -> boolean;
    +function isSupersetOfMut<T>(s: {T}, other: mut {T}) -> boolean;
    +function isMutSuperset<T>(s: mut {T}, other: {T}) -> boolean;
    +function isMutSupersetOfMut<T>(s: mut {T}, other: mut {T}) -> boolean;
    +
    +# This method returns true if the first set is a subset of the second set. Note, this procedure returns true if the two
    +# sets are equal.
    +function isSubset<T>(s: {T}, other: {T}) -> boolean;
    +function isSubsetOfMut<T>(s: {T}, other: mut {T}) -> boolean;
    +function isMutSubset<T>(s: mut {T}, other: {T}) -> boolean;
    +function isMutSubsetOfMut<T>(s: mut {T}, other: mut {T}) -> boolean;
    +
    +# Returns true if this set contains no elements.
    +function isEmpty<T>(s: {T}) -> boolean;
    +function isEmptyForMut<T>(s: mut {T}) -> boolean;
    +
    +# Removes the specified element from this set if it is present.
    +function removeElem<T>(s: mut {T}, elem: T) -> boolean;
    +
    +# Removes from this set all of its elements that are contained in the specified list.
    +#
    +# Returns: true if this set changed as a result of the call.
    +function removeAll<T>(s: mut {T}, elems: [T]) -> boolean;
    +function removeAllFromMut<T>(s: mut {T}, elems: mut [T]) -> boolean;
    +# Removes from the first set all of its elements that are contained in the second set. This operation effectively
    +# modifies the first set so that its value is the asymmetric set difference of the two sets.
    +#
    +# Returns: true if this set changed as a result of the call.
    +function removeAllFromSet<T>(s: mut {T}, elems: {T}) -> boolean;
    +function removeAllFromMutSet<T>(s: mut {T}, elems: mut {T}) -> boolean;
    +
    +# Removes all of the elements of this collection that satisfy the given predicate.
    +#
    +# Returns: true if any elements were removed.
    +function removeIf<T>(s: mut {T}, predicate: function<T -> boolean>) -> boolean;
    +
    +# Retains only the elements in this set that are contained in the specified list. In other words, removes from this set
    +# all of its elements that are not contained in the specified list.
    +#
    +# Returns: true if this set changed as a result of the call.
    +function retainAll<T>(s: mut {T}, elems: [T]) -> boolean;
    +function retainAllFromMut<T>(s: mut {T}, elems: mut [T]) -> boolean;
    +# Retains only the elements in the first set that are contained in the second set. In other words, removes from the
    +# first set all of its elements that are not contained in the second set. This operation effectively modifies this set
    +# so that its value is the intersection of the two sets.
    +#
    +# Returns: true if this set changed as a result of the call.
    +function retainAllFromSet<T>(s: mut {T}, elems: {T}) -> boolean;
    +function retainAllFromMutSet<T>(s: mut {T}, elems: mut {T}) -> boolean;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/std_module.generated_docs.html b/stdlib/std_module.generated_docs.html new file mode 100644 index 00000000..29f80ff8 --- /dev/null +++ b/stdlib/std_module.generated_docs.html @@ -0,0 +1,253 @@ + + + + + + std - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    std

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    ########################################################################################################################
    +# This file contains simple definitions of builtin types that come as part of Claro's stdlib. Very likely this will get
    +# reorganized over time, for now it's a single centralized dumping ground.
    +########################################################################################################################
    +
    +atom Nothing
    +
    +atom OK
    +newtype Error<T> : T
    +
    +newtype ParsedJson<T> : struct {
    +  result: oneof<T, Error<string>>,
    +  rawJson: string
    +}
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/string_builder_module.generated_docs.html b/stdlib/string_builder_module.generated_docs.html new file mode 100644 index 00000000..73ffd1eb --- /dev/null +++ b/stdlib/string_builder_module.generated_docs.html @@ -0,0 +1,242 @@ + + + + + + string_builder - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    string_builder

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    
    +opaque newtype StringBuilder
    +
    +provider create() -> StringBuilder;
    +
    +# Add anything to the end of the StringBuilder. It will be converted to its string representation automatically.
    +function add<T>(sb: StringBuilder, toAdd: T) -> StringBuilder;
    +function build(sb: StringBuilder) -> string;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/stdlib/strings_module.generated_docs.html b/stdlib/strings_module.generated_docs.html new file mode 100644 index 00000000..86ccd665 --- /dev/null +++ b/stdlib/strings_module.generated_docs.html @@ -0,0 +1,303 @@ + + + + + + strings - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    strings

    +
    +

    Claro's StdLib Module Documentation Generation Is Still a WIP.

    +

    This is currently just a placeholder to at least ensure that all the StdLib Modules are represented here so that you +don't have to dig into the GitHub repo to find this. But, expect this to improve and become more interactive over time.

    +
    +
    # Simply exposing the functionality documented at the links below to Claro programs:
    +#   - https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
    +#   - https://guava.dev/releases/31.1-jre/api/docs/com/google/common/base/Strings.html
    +# TODO(steving) Make this api safe so that nothing can throw a runtime exception.
    +
    +atom NOT_FOUND
    +
    +function fromChar(c: char) -> string;
    +
    +function charAt(s: string, i: int) -> char;
    +
    +function commonPrefix(s: string, other: string) -> string;
    +function commonSuffix(s: string, other: string) -> string;
    +
    +function compareTo(s: string, other: string) -> int;
    +function compareToIgnoreCase(s: string, other: string) -> int;
    +
    +function concat(s: string, other: string) -> string;
    +
    +function contains(s: string, other: string) -> boolean;
    +
    +function endsWith(s: string, other: string) -> boolean;
    +
    +function equalsIgnoreCase(s: string, other: string) -> boolean;
    +
    +function indexOf(s: string, of: string) -> oneof<int, NOT_FOUND>;
    +function indexOfFromIndex(s: string, of: string, from: int) -> oneof<int, NOT_FOUND>;
    +
    +function isEmpty(s: string) -> boolean;
    +
    +function join(delimiter: string, parts: [string]) -> string;
    +
    +function lastIndexOf(s: string, of: string) -> oneof<int, NOT_FOUND>;
    +function lastIndexOfFromIndex(s: string, of: string, from: int) -> oneof<int, NOT_FOUND>;
    +
    +function matches(s: string, regex: string) -> boolean;
    +
    +# TODO(steving) Revisit this once Claro has support for chars. Should support configurable padding char.
    +function padEnd(s: string, minLength: int) -> string;
    +function padStart(s: string, minLength: int) -> string;
    +
    +function regionMatches(s: string, s_offset: int, other: string, o_offset: int, regionLen: int) -> boolean;
    +function regionMatchesIgnoreCase(ignoreCase: boolean, s: string, s_offset: int, other: string, o_offset: int, regionLen: int) -> boolean;
    +
    +function repeated(s: string, count: int) -> string;
    +
    +function replace(s: string, target: string, replacement: string) -> string;
    +function replaceAll(s: string, regex: string, replacement: string) -> string;
    +function replaceFirst(s: string, regex: string, replacement: string) -> string;
    +
    +function split(s: string, regex: string) -> [string];
    +function splitWithLimit(s: string, regex: string, limit: int) -> [string];
    +function splitChars(s: string) -> [char];
    +
    +function startsWith(s: string, other: string) -> boolean;
    +function startsWithFromIndex(s: string, other: string, from: int) -> boolean;
    +
    +function substring(s: string, beginInclusive: int, endExclusive: int) -> string;
    +function suffix(s: string, beginInclusive: int) -> string;
    +
    +function toLowerCase(s: string) -> string;
    +function toUpperCase(s: string) -> string;
    +
    +function trim(s: string) -> string;
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + 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..517c5143 --- /dev/null +++ b/type_inference/required_type_annotations/required_type_annotations.generated_docs.html @@ -0,0 +1,358 @@ + + + + + + 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..8d60e7ab --- /dev/null +++ b/type_inference/type_inference.generated_docs.html @@ -0,0 +1,264 @@ + + + + + + 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.

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

    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 provides an +easy-to-use abstraction to statically guarantee that programs are:

    + +

    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

    +
    + +

    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!

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

    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
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    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 provides an +easy-to-use abstraction to statically guarantee that programs are:

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

    The following sections will introduce you to the language features that enable Claro's safe concurrency guarantees.

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