From 5ca319e4d8111b3f91ea577f3f7073ab36012bd8 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 14:51:54 +0100 Subject: [PATCH 01/13] set/map bug fixes --- .../test10/contracts}/test10.liq.tz | 0 rsc/tests/test10/okay/Test10Test1.techel | 97 ++ rsc/tests/test10/okay/Test10Test10.techel | 179 +++ rsc/tests/test10/okay/Test10Test2.techel | 87 ++ rsc/tests/test10/okay/Test10Test3.techel | 209 +++ rsc/tests/test10/okay/Test10Test4.techel | 199 +++ rsc/tests/test10/okay/Test10Test5.techel | 94 ++ rsc/tests/test10/okay/Test10Test6.techel | 61 + rsc/tests/test10/okay/Test10Test7.techel | 160 +++ rsc/tests/test10/okay/Test10Test8.techel | 426 +++++++ rsc/tests/test10/okay/Test10Test9.techel | 60 + .../test12/contracts}/test12.liq.tz | 0 rsc/tests/test12/okay/Test12Test1.techel | 86 ++ rsc/tests/test12/okay/Test12Test2.techel | 81 ++ rsc/tests/test12/okay/Test12Test3.techel | 173 +++ rsc/tests/test12/okay/Test12Test4.techel | 192 +++ .../test24/contracts}/test24.liq.tz | 0 rsc/tests/test24/okay/Test24Test1.techel | 113 ++ rsc/tests/test24/okay/Test24Test10.techel | 504 ++++++++ rsc/tests/test24/okay/Test24Test2.techel | 201 +++ rsc/tests/test24/okay/Test24Test3.techel | 505 ++++++++ rsc/tests/test24/okay/Test24Test4.techel | 576 +++++++++ rsc/tests/test24/okay/Test24Test5.techel | 190 +++ rsc/tests/test24/okay/Test24Test6.techel | 114 ++ rsc/tests/test24/okay/Test24Test7.techel | 430 +++++++ rsc/tests/test24/okay/Test24Test8.techel | 1127 +++++++++++++++++ rsc/tests/test24/okay/Test24Test9.techel | 113 ++ .../test26/contracts}/test26.liq.tz | 0 rsc/tests/test26/okay/Test26Test1.techel | 104 ++ rsc/tests/test26/okay/Test26Test10.techel | 457 +++++++ rsc/tests/test26/okay/Test26Test2.techel | 169 +++ rsc/tests/test26/okay/Test26Test3.techel | 457 +++++++ rsc/tests/test26/okay/Test26Test4.techel | 542 ++++++++ rsc/tests/test26/okay/Test26Test5.techel | 173 +++ rsc/tests/test26/okay/Test26Test6.techel | 104 ++ rsc/tests/test26/okay/Test26Test7.techel | 396 ++++++ rsc/tests/test26/okay/Test26Test8.techel | 1025 +++++++++++++++ rsc/tests/test26/okay/Test26Test9.techel | 100 ++ .../test28/contracts}/test28.liq.tz | 0 rsc/tests/test28/okay/Test28Test1.techel | 156 +++ rsc/tests/test28/okay/Test28Test10.techel | 513 ++++++++ rsc/tests/test28/okay/Test28Test2.techel | 229 ++++ rsc/tests/test28/okay/Test28Test3.techel | 509 ++++++++ rsc/tests/test28/okay/Test28Test4.techel | 586 +++++++++ rsc/tests/test28/okay/Test28Test5.techel | 229 ++++ rsc/tests/test28/okay/Test28Test6.techel | 152 +++ rsc/tests/test28/okay/Test28Test7.techel | 440 +++++++ rsc/tests/test28/okay/Test28Test8.techel | 1073 ++++++++++++++++ rsc/tests/test28/okay/Test28Test9.techel | 160 +++ .../test34/contracts}/test34.liq.tz | 0 rsc/tests/test34/okay/Test34Test1.techel | 54 + rsc/tests/test34/okay/Test34Test10.techel | 173 +++ rsc/tests/test34/okay/Test34Test2.techel | 77 ++ rsc/tests/test34/okay/Test34Test3.techel | 169 +++ rsc/tests/test34/okay/Test34Test4.techel | 196 +++ rsc/tests/test34/okay/Test34Test5.techel | 77 ++ rsc/tests/test34/okay/Test34Test6.techel | 58 + rsc/tests/test34/okay/Test34Test7.techel | 150 +++ rsc/tests/test34/okay/Test34Test8.techel | 353 ++++++ rsc/tests/test34/okay/Test34Test9.techel | 54 + .../test36/contracts}/test36.liq.tz | 0 rsc/tests/test36/okay/Test36Test1.techel | 106 ++ rsc/tests/test36/okay/Test36Test2.techel | 125 ++ rsc/tests/test36/okay/Test36Test3.techel | 221 ++++ rsc/tests/test36/okay/Test36Test4.techel | 244 ++++ .../test38/contracts}/test38.liq.tz | 0 rsc/tests/test38/okay/Test38Test1.techel | 64 + rsc/tests/test38/okay/Test38Test10.techel | 180 +++ rsc/tests/test38/okay/Test38Test2.techel | 85 ++ rsc/tests/test38/okay/Test38Test3.techel | 182 +++ rsc/tests/test38/okay/Test38Test4.techel | 213 ++++ rsc/tests/test38/okay/Test38Test5.techel | 84 ++ rsc/tests/test38/okay/Test38Test6.techel | 65 + rsc/tests/test38/okay/Test38Test7.techel | 163 +++ rsc/tests/test38/okay/Test38Test8.techel | 388 ++++++ rsc/tests/test38/okay/Test38Test9.techel | 61 + .../test5/contracts}/test5.liq.tz | 0 rsc/tests/test5/okay/Test5Test1.techel | 212 ++++ rsc/tests/test5/okay/Test5Test10.techel | 331 +++++ rsc/tests/test5/okay/Test5Test2.techel | 231 ++++ rsc/tests/test5/okay/Test5Test3.techel | 319 +++++ rsc/tests/test5/okay/Test5Test4.techel | 346 +++++ rsc/tests/test5/okay/Test5Test5.techel | 227 ++++ rsc/tests/test5/okay/Test5Test6.techel | 208 +++ rsc/tests/test5/okay/Test5Test7.techel | 300 +++++ rsc/tests/test5/okay/Test5Test8.techel | 503 ++++++++ rsc/tests/test5/okay/Test5Test9.techel | 204 +++ .../test7/contracts}/test7.liq.tz | 0 rsc/tests/test7/okay/Test7Test1.techel | 58 + rsc/tests/test7/okay/Test7Test10.techel | 177 +++ rsc/tests/test7/okay/Test7Test2.techel | 81 ++ rsc/tests/test7/okay/Test7Test3.techel | 173 +++ rsc/tests/test7/okay/Test7Test4.techel | 196 +++ rsc/tests/test7/okay/Test7Test5.techel | 85 ++ rsc/tests/test7/okay/Test7Test6.techel | 58 + rsc/tests/test7/okay/Test7Test7.techel | 150 +++ rsc/tests/test7/okay/Test7Test8.techel | 357 ++++++ rsc/tests/test7/okay/Test7Test9.techel | 62 + .../test9/contracts}/test9.liq.tz | 2 + rsc/tests/test9/okay/Test9Test1.techel | 92 ++ rsc/tests/test9/okay/Test9Test2.techel | 91 ++ .../test_if/contracts}/test_if.liq.tz | 0 rsc/tests/test_if/okay/Test_ifTest1.techel | 92 ++ rsc/tests/test_if/okay/Test_ifTest10.techel | 295 +++++ rsc/tests/test_if/okay/Test_ifTest2.techel | 91 ++ rsc/tests/test_if/okay/Test_ifTest3.techel | 190 +++ rsc/tests/test_if/okay/Test_ifTest4.techel | 202 +++ rsc/tests/test_if/okay/Test_ifTest5.techel | 109 ++ rsc/tests/test_if/okay/Test_ifTest6.techel | 86 ++ rsc/tests/test_if/okay/Test_ifTest7.techel | 207 +++ rsc/tests/test_if/okay/Test_ifTest8.techel | 363 ++++++ rsc/tests/test_if/okay/Test_ifTest9.techel | 306 +++++ .../contracts}/test_loop_left.liq.tz | 0 .../okay/Test_loop_leftTest1.techel | 54 + .../okay/Test_loop_leftTest2.techel | 81 ++ .../contracts}/test_mapmap_closure.liq.tz | 0 .../okay/Test_mapmap_closureTest1.techel | 107 ++ .../okay/Test_mapmap_closureTest10.techel | 350 +++++ .../okay/Test_mapmap_closureTest2.techel | 81 ++ .../okay/Test_mapmap_closureTest3.techel | 218 ++++ .../okay/Test_mapmap_closureTest4.techel | 350 +++++ .../okay/Test_mapmap_closureTest5.techel | 99 ++ .../okay/Test_mapmap_closureTest6.techel | 217 ++++ .../okay/Test_mapmap_closureTest7.techel | 182 +++ .../okay/Test_mapmap_closureTest8.techel | 552 ++++++++ .../okay/Test_mapmap_closureTest9.techel | 75 ++ .../contracts}/test_rec_fun.liq.tz | 0 .../okay/Test_rec_funTest1.techel | 60 + .../okay/Test_rec_funTest2.techel | 84 ++ .../contracts}/test_transfer.liq.tz | 0 .../okay/Test_transferTest1.techel | 61 + src/1_base/mic.ml | 10 +- src/1_base/mic.mli | 1 + src/2_parse/miclex.mll | 1 + src/2_parse/micparse.mly | 22 +- src/4_theory/make.ml | 239 +++- src/7_test/load.ml | 2 +- 137 files changed, 26280 insertions(+), 63 deletions(-) rename rsc/{testgen/okay => tests/test10/contracts}/test10.liq.tz (100%) create mode 100644 rsc/tests/test10/okay/Test10Test1.techel create mode 100644 rsc/tests/test10/okay/Test10Test10.techel create mode 100644 rsc/tests/test10/okay/Test10Test2.techel create mode 100644 rsc/tests/test10/okay/Test10Test3.techel create mode 100644 rsc/tests/test10/okay/Test10Test4.techel create mode 100644 rsc/tests/test10/okay/Test10Test5.techel create mode 100644 rsc/tests/test10/okay/Test10Test6.techel create mode 100644 rsc/tests/test10/okay/Test10Test7.techel create mode 100644 rsc/tests/test10/okay/Test10Test8.techel create mode 100644 rsc/tests/test10/okay/Test10Test9.techel rename rsc/{testgen/okay => tests/test12/contracts}/test12.liq.tz (100%) create mode 100644 rsc/tests/test12/okay/Test12Test1.techel create mode 100644 rsc/tests/test12/okay/Test12Test2.techel create mode 100644 rsc/tests/test12/okay/Test12Test3.techel create mode 100644 rsc/tests/test12/okay/Test12Test4.techel rename rsc/{testgen/okay => tests/test24/contracts}/test24.liq.tz (100%) create mode 100644 rsc/tests/test24/okay/Test24Test1.techel create mode 100644 rsc/tests/test24/okay/Test24Test10.techel create mode 100644 rsc/tests/test24/okay/Test24Test2.techel create mode 100644 rsc/tests/test24/okay/Test24Test3.techel create mode 100644 rsc/tests/test24/okay/Test24Test4.techel create mode 100644 rsc/tests/test24/okay/Test24Test5.techel create mode 100644 rsc/tests/test24/okay/Test24Test6.techel create mode 100644 rsc/tests/test24/okay/Test24Test7.techel create mode 100644 rsc/tests/test24/okay/Test24Test8.techel create mode 100644 rsc/tests/test24/okay/Test24Test9.techel rename rsc/{testgen/okay => tests/test26/contracts}/test26.liq.tz (100%) create mode 100644 rsc/tests/test26/okay/Test26Test1.techel create mode 100644 rsc/tests/test26/okay/Test26Test10.techel create mode 100644 rsc/tests/test26/okay/Test26Test2.techel create mode 100644 rsc/tests/test26/okay/Test26Test3.techel create mode 100644 rsc/tests/test26/okay/Test26Test4.techel create mode 100644 rsc/tests/test26/okay/Test26Test5.techel create mode 100644 rsc/tests/test26/okay/Test26Test6.techel create mode 100644 rsc/tests/test26/okay/Test26Test7.techel create mode 100644 rsc/tests/test26/okay/Test26Test8.techel create mode 100644 rsc/tests/test26/okay/Test26Test9.techel rename rsc/{testgen/okay => tests/test28/contracts}/test28.liq.tz (100%) create mode 100644 rsc/tests/test28/okay/Test28Test1.techel create mode 100644 rsc/tests/test28/okay/Test28Test10.techel create mode 100644 rsc/tests/test28/okay/Test28Test2.techel create mode 100644 rsc/tests/test28/okay/Test28Test3.techel create mode 100644 rsc/tests/test28/okay/Test28Test4.techel create mode 100644 rsc/tests/test28/okay/Test28Test5.techel create mode 100644 rsc/tests/test28/okay/Test28Test6.techel create mode 100644 rsc/tests/test28/okay/Test28Test7.techel create mode 100644 rsc/tests/test28/okay/Test28Test8.techel create mode 100644 rsc/tests/test28/okay/Test28Test9.techel rename rsc/{testgen/okay => tests/test34/contracts}/test34.liq.tz (100%) create mode 100644 rsc/tests/test34/okay/Test34Test1.techel create mode 100644 rsc/tests/test34/okay/Test34Test10.techel create mode 100644 rsc/tests/test34/okay/Test34Test2.techel create mode 100644 rsc/tests/test34/okay/Test34Test3.techel create mode 100644 rsc/tests/test34/okay/Test34Test4.techel create mode 100644 rsc/tests/test34/okay/Test34Test5.techel create mode 100644 rsc/tests/test34/okay/Test34Test6.techel create mode 100644 rsc/tests/test34/okay/Test34Test7.techel create mode 100644 rsc/tests/test34/okay/Test34Test8.techel create mode 100644 rsc/tests/test34/okay/Test34Test9.techel rename rsc/{testgen/okay => tests/test36/contracts}/test36.liq.tz (100%) create mode 100644 rsc/tests/test36/okay/Test36Test1.techel create mode 100644 rsc/tests/test36/okay/Test36Test2.techel create mode 100644 rsc/tests/test36/okay/Test36Test3.techel create mode 100644 rsc/tests/test36/okay/Test36Test4.techel rename rsc/{testgen/okay => tests/test38/contracts}/test38.liq.tz (100%) create mode 100644 rsc/tests/test38/okay/Test38Test1.techel create mode 100644 rsc/tests/test38/okay/Test38Test10.techel create mode 100644 rsc/tests/test38/okay/Test38Test2.techel create mode 100644 rsc/tests/test38/okay/Test38Test3.techel create mode 100644 rsc/tests/test38/okay/Test38Test4.techel create mode 100644 rsc/tests/test38/okay/Test38Test5.techel create mode 100644 rsc/tests/test38/okay/Test38Test6.techel create mode 100644 rsc/tests/test38/okay/Test38Test7.techel create mode 100644 rsc/tests/test38/okay/Test38Test8.techel create mode 100644 rsc/tests/test38/okay/Test38Test9.techel rename rsc/{testgen/okay => tests/test5/contracts}/test5.liq.tz (100%) create mode 100644 rsc/tests/test5/okay/Test5Test1.techel create mode 100644 rsc/tests/test5/okay/Test5Test10.techel create mode 100644 rsc/tests/test5/okay/Test5Test2.techel create mode 100644 rsc/tests/test5/okay/Test5Test3.techel create mode 100644 rsc/tests/test5/okay/Test5Test4.techel create mode 100644 rsc/tests/test5/okay/Test5Test5.techel create mode 100644 rsc/tests/test5/okay/Test5Test6.techel create mode 100644 rsc/tests/test5/okay/Test5Test7.techel create mode 100644 rsc/tests/test5/okay/Test5Test8.techel create mode 100644 rsc/tests/test5/okay/Test5Test9.techel rename rsc/{testgen/okay => tests/test7/contracts}/test7.liq.tz (100%) create mode 100644 rsc/tests/test7/okay/Test7Test1.techel create mode 100644 rsc/tests/test7/okay/Test7Test10.techel create mode 100644 rsc/tests/test7/okay/Test7Test2.techel create mode 100644 rsc/tests/test7/okay/Test7Test3.techel create mode 100644 rsc/tests/test7/okay/Test7Test4.techel create mode 100644 rsc/tests/test7/okay/Test7Test5.techel create mode 100644 rsc/tests/test7/okay/Test7Test6.techel create mode 100644 rsc/tests/test7/okay/Test7Test7.techel create mode 100644 rsc/tests/test7/okay/Test7Test8.techel create mode 100644 rsc/tests/test7/okay/Test7Test9.techel rename rsc/{testgen/okay => tests/test9/contracts}/test9.liq.tz (97%) create mode 100644 rsc/tests/test9/okay/Test9Test1.techel create mode 100644 rsc/tests/test9/okay/Test9Test2.techel rename rsc/{testgen/okay => tests/test_if/contracts}/test_if.liq.tz (100%) create mode 100644 rsc/tests/test_if/okay/Test_ifTest1.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest10.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest2.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest3.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest4.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest5.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest6.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest7.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest8.techel create mode 100644 rsc/tests/test_if/okay/Test_ifTest9.techel rename rsc/{testgen/okay => tests/test_loop_left/contracts}/test_loop_left.liq.tz (100%) create mode 100644 rsc/tests/test_loop_left/okay/Test_loop_leftTest1.techel create mode 100644 rsc/tests/test_loop_left/okay/Test_loop_leftTest2.techel rename rsc/{testgen/okay => tests/test_mapmap_closure/contracts}/test_mapmap_closure.liq.tz (100%) create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest1.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest10.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest2.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest3.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest4.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest5.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest6.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest7.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest8.techel create mode 100644 rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest9.techel rename rsc/{testgen/okay => tests/test_rec_fun/contracts}/test_rec_fun.liq.tz (100%) create mode 100644 rsc/tests/test_rec_fun/okay/Test_rec_funTest1.techel create mode 100644 rsc/tests/test_rec_fun/okay/Test_rec_funTest2.techel rename rsc/{testgen/okay => tests/test_transfer/contracts}/test_transfer.liq.tz (100%) create mode 100644 rsc/tests/test_transfer/okay/Test_transferTest1.techel diff --git a/rsc/testgen/okay/test10.liq.tz b/rsc/tests/test10/contracts/test10.liq.tz similarity index 100% rename from rsc/testgen/okay/test10.liq.tz rename to rsc/tests/test10/contracts/test10.liq.tz diff --git a/rsc/tests/test10/okay/Test10Test1.techel b/rsc/tests/test10/okay/Test10Test1.techel new file mode 100644 index 0000000..91a54fb --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test1.techel @@ -0,0 +1,97 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + NONE int ; + PUSH string "" ; + UPDATE ; + PUSH int 0 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH int 8362247 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + { + PUSH int 856461081221853 ; + NEG + } ; + SOME ; + PUSH string "40-" ; + UPDATE ; + { + PUSH int 257700 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PAIR ; + PUSH bool False ; + PAIR + } ; + # money transferred + PUSH mutez 638557938255190 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool False ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "11a6ffbc9fb85" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test10" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 120584798270008 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test10/okay/Test10Test10.techel b/rsc/tests/test10/okay/Test10Test10.techel new file mode 100644 index 0000000..7c27ab7 --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test10.techel @@ -0,0 +1,179 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + { + PUSH int 8204566 ; + NEG + } ; + SOME ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 99434295055929 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test10" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 596541464919763 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 61459686312147 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 864327024082596 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 693147382050554 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 462610424179834 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 558773253034993 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test10/okay/Test10Test2.techel b/rsc/tests/test10/okay/Test10Test2.techel new file mode 100644 index 0000000..4a12536 --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test2.techel @@ -0,0 +1,87 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + NONE int ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 343927719569148 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool True ; + # delegate + { + PUSH key "" ; + BLAKE2B ; + SOME + } ; + # manager + { + PUSH key "fdc2ec830c824ff7dd5bb21f2" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test10" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 559875777180078 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 414588692935206 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test10/okay/Test10Test3.techel b/rsc/tests/test10/okay/Test10Test3.techel new file mode 100644 index 0000000..6c050d8 --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test3.techel @@ -0,0 +1,209 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "!%Ra+,SY" ; + UPDATE ; + { + PUSH int 1 ; + NEG + } ; + SOME ; + PAIR ; + PUSH bool False ; + PAIR + } ; + # money transferred + PUSH mutez 389781140525677 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool True ; + # delegate + { + PUSH key "eea49800eaa67" ; + BLAKE2B ; + SOME + } ; + # manager + { + PUSH key "514fcacef" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test10" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 596869000303779 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 541088056718985 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 309632011606741 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 162212869377244 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 129649884315130 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 840455030518689 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test10/okay/Test10Test4.techel b/rsc/tests/test10/okay/Test10Test4.techel new file mode 100644 index 0000000..4850339 --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test4.techel @@ -0,0 +1,199 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + PUSH int 126746 ; + SOME ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 51001261000278 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool False ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test10" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 528612250610396 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 155972563450816 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 67725316796697 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 624589929799882 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 685787237109966 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 74909931061111 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 214763351319044 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test10/okay/Test10Test5.techel b/rsc/tests/test10/okay/Test10Test5.techel new file mode 100644 index 0000000..741f2ac --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test5.techel @@ -0,0 +1,94 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + NONE int ; + PUSH string "sy;E.(1" ; + UPDATE ; + PUSH int 0 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PAIR ; + PUSH bool False ; + PAIR + } ; + # money transferred + PUSH mutez 231350661609648 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool False ; + # delegate + { + PUSH key "c" ; + SHA256 ; + SOME + } ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test10" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 268388370095389 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 501886852263417 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test10/okay/Test10Test6.techel b/rsc/tests/test10/okay/Test10Test6.techel new file mode 100644 index 0000000..70a1e53 --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test6.techel @@ -0,0 +1,61 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + PUSH int 0 ; + SOME ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 653155709059023 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test10" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 153478120396385 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test10/okay/Test10Test7.techel b/rsc/tests/test10/okay/Test10Test7.techel new file mode 100644 index 0000000..f7e22aa --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test7.techel @@ -0,0 +1,160 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + { + PUSH int 707461 ; + NEG + } ; + SOME ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 659289911009130 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + { + PUSH key "" ; + SHA256 ; + SOME + } ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test10" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 213394943943241 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 860668968943136 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 669109316245971 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 572680915271974 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test10`" ; + FAILWITH + } + {} + } ; + PUSH mutez 187380196912665 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test10/okay/Test10Test8.techel b/rsc/tests/test10/okay/Test10Test8.techel new file mode 100644 index 0000000..90b6e2c --- /dev/null +++ b/rsc/tests/test10/okay/Test10Test8.techel @@ -0,0 +1,426 @@ +{ + # deploying contract `Test10` + { + # creating contract creation parameters + { + # creating storage for contract `Test10` + { + EMPTY_MAP string int ; + NONE int ; + PUSH string "9;wQ3G9td^ 9Zp8" ; + UPDATE ; + PUSH int 68043564673754 ; + SOME ; + PUSH string "XdJeP" ; + UPDATE ; + NONE int ; + PUSH string "g|t?odI!D?" ; + UPDATE ; + { + PUSH int 417326 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + { + PUSH int 657843461532887857 ; + NEG + } ; + SOME ; + PUSH string "J#]3SPU]c@kUI';" ; + UPDATE ; + NONE int ; + PUSH string "77$)i!K/@/+" ; + UPDATE ; + { + PUSH int 62 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH int 0 ; + SOME ; + PUSH string "#_uG" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + PUSH int 3634343436880087208775208502432050200024368 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + { + PUSH int 12718334480006167772548334375 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "o?2{|(M'']:" ; + UPDATE ; + NONE int ; + PUSH string "Jzt" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + PUSH int 83685 ; + SOME ; + PUSH string "" ; + UPDATE ; + { + PUSH int 1 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "?" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + { + PUSH int 75 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH int 62674507807346437676482 ; + SOME ; + PUSH string "#g~oYK" ; + UPDATE ; + PUSH int 74662 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + PUSH int 6 ; + SOME ; + PUSH string "zO~_'" ; + UPDATE ; + { + PUSH int 504 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + PAIR ; + NONE int ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 30983914268009 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool False ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + SHA256 + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 916751017176841 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 253148220144610 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 674894063830200 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 794588391604576 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 712163890537269 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 362607862042044 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_if/okay/Test_ifTest2.techel b/rsc/tests/test_if/okay/Test_ifTest2.techel new file mode 100644 index 0000000..fd477b0 --- /dev/null +++ b/rsc/tests/test_if/okay/Test_ifTest2.techel @@ -0,0 +1,91 @@ +{ + # deploying contract `Test_if` + { + # creating contract creation parameters + { + # creating storage for contract `Test_if` + { + NIL int ; + EMPTY_SET int ; + PAIR ; + EMPTY_MAP string int ; + PAIR ; + { + PUSH int 5327 ; + NEG + } ; + SOME ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 589142236987740 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool True ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 904117640813499 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 539913353438158 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_if/okay/Test_ifTest3.techel b/rsc/tests/test_if/okay/Test_ifTest3.techel new file mode 100644 index 0000000..64009d0 --- /dev/null +++ b/rsc/tests/test_if/okay/Test_ifTest3.techel @@ -0,0 +1,190 @@ +{ + # deploying contract `Test_if` + { + # creating contract creation parameters + { + # creating storage for contract `Test_if` + { + NIL int ; + PUSH int 72714423056 ; + CONS ; + { + PUSH int 683081300 ; + NEG + } ; + CONS ; + EMPTY_SET int ; + PAIR ; + EMPTY_MAP string int ; + PAIR ; + { + PUSH int 46005731273735262 ; + NEG + } ; + SOME ; + PAIR ; + PUSH bool False ; + PAIR + } ; + # money transferred + PUSH mutez 664731669399716 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool False ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 689892243378439 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 554230763190417 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 489341786453016 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 894280287178353 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 747656866097192 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 89207380209060 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_if/okay/Test_ifTest4.techel b/rsc/tests/test_if/okay/Test_ifTest4.techel new file mode 100644 index 0000000..540dd12 --- /dev/null +++ b/rsc/tests/test_if/okay/Test_ifTest4.techel @@ -0,0 +1,202 @@ +{ + # deploying contract `Test_if` + { + # creating contract creation parameters + { + # creating storage for contract `Test_if` + { + NIL int ; + EMPTY_SET int ; + PAIR ; + EMPTY_MAP string int ; + PAIR ; + NONE int ; + PAIR ; + PUSH bool False ; + PAIR + } ; + # money transferred + PUSH mutez 53674764234988 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + SHA256 + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 544886722288055 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 831527344084324 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 234317291459031 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 771481512476533 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 421975800871379 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 749064235000660 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 827729193994812 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_if/okay/Test_ifTest5.techel b/rsc/tests/test_if/okay/Test_ifTest5.techel new file mode 100644 index 0000000..0ad6def --- /dev/null +++ b/rsc/tests/test_if/okay/Test_ifTest5.techel @@ -0,0 +1,109 @@ +{ + # deploying contract `Test_if` + { + # creating contract creation parameters + { + # creating storage for contract `Test_if` + { + NIL int ; + EMPTY_SET int ; + PUSH bool True ; + PUSH int 31557081646471584454601372 ; + UPDATE ; + PUSH bool True ; + PUSH int 421 ; + UPDATE ; + PUSH bool True ; + PUSH int 676 ; + UPDATE ; + PUSH bool True ; + PUSH int 5 ; + UPDATE ; + PUSH bool True ; + PUSH int 7 ; + UPDATE ; + PUSH bool True ; + PUSH int 12780 ; + UPDATE ; + PAIR ; + EMPTY_MAP string int ; + PAIR ; + NONE int ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 329091983899733 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool False ; + # delegate + { + PUSH key "1be3ea0602fadcc503" ; + BLAKE2B ; + SOME + } ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 285017828402630 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 819915601566928 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_if/okay/Test_ifTest6.techel b/rsc/tests/test_if/okay/Test_ifTest6.techel new file mode 100644 index 0000000..6ee624f --- /dev/null +++ b/rsc/tests/test_if/okay/Test_ifTest6.techel @@ -0,0 +1,86 @@ +{ + # deploying contract `Test_if` + { + # creating contract creation parameters + { + # creating storage for contract `Test_if` + { + NIL int ; + PUSH int 1506032478473 ; + CONS ; + EMPTY_SET int ; + PUSH bool True ; + { + PUSH int 63034 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + PUSH int 0 ; + UPDATE ; + PUSH bool True ; + PUSH int 0 ; + UPDATE ; + PUSH bool True ; + PUSH int 873385 ; + UPDATE ; + PAIR ; + EMPTY_MAP string int ; + PAIR ; + PUSH int 0 ; + SOME ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 893320864666415 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + { + PUSH key "" ; + HASH_KEY ; + SOME + } ; + # manager + { + PUSH key "6dba5" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 648391896044691 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_if/okay/Test_ifTest7.techel b/rsc/tests/test_if/okay/Test_ifTest7.techel new file mode 100644 index 0000000..4b6bdde --- /dev/null +++ b/rsc/tests/test_if/okay/Test_ifTest7.techel @@ -0,0 +1,207 @@ +{ + # deploying contract `Test_if` + { + # creating contract creation parameters + { + # creating storage for contract `Test_if` + { + NIL int ; + EMPTY_SET int ; + PAIR ; + EMPTY_MAP string int ; + { + PUSH int 203 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "Et" ; + UPDATE ; + PUSH int 0 ; + SOME ; + PUSH string "kZM<%e8FR+9 " ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + PUSH int 7 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "s8R" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "|#" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + PUSH int 0 ; + SOME ; + PUSH string "" ; + UPDATE ; + { + PUSH int 35734464446706833671 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + PAIR ; + NONE int ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 659289911009130 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + { + PUSH key "" ; + SHA256 ; + SOME + } ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 213394943943241 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 860668968943136 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 669109316245971 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 572680915271974 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 187380196912665 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_if/okay/Test_ifTest8.techel b/rsc/tests/test_if/okay/Test_ifTest8.techel new file mode 100644 index 0000000..ad7806e --- /dev/null +++ b/rsc/tests/test_if/okay/Test_ifTest8.techel @@ -0,0 +1,363 @@ +{ + # deploying contract `Test_if` + { + # creating contract creation parameters + { + # creating storage for contract `Test_if` + { + NIL int ; + EMPTY_SET int ; + PAIR ; + EMPTY_MAP string int ; + PAIR ; + NONE int ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 464797858311815 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "713a9ab70eacd0f7b2da0dcccdd6" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 362153733658133 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 310252549938808 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 353290502460150 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 866636338416126 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 383640035489460 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 633739005190427 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 406381753767376 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 469283590695275 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 399944827799867 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 874348996821623 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 100702094789433 ; + PUSH bool True ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 720965685053849 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 895803472717518 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 872493679802156 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_if/okay/Test_ifTest9.techel b/rsc/tests/test_if/okay/Test_ifTest9.techel new file mode 100644 index 0000000..969091a --- /dev/null +++ b/rsc/tests/test_if/okay/Test_ifTest9.techel @@ -0,0 +1,306 @@ +{ + # deploying contract `Test_if` + { + # creating contract creation parameters + { + # creating storage for contract `Test_if` + { + NIL int ; + { + PUSH int 4746 ; + NEG + } ; + CONS ; + { + PUSH int 43571467 ; + NEG + } ; + CONS ; + PUSH int 15675285686 ; + CONS ; + PUSH int 273720 ; + CONS ; + { + PUSH int 123778174513536255 ; + NEG + } ; + CONS ; + { + PUSH int 4330277075255 ; + NEG + } ; + CONS ; + { + PUSH int 173 ; + NEG + } ; + CONS ; + PUSH int 0 ; + CONS ; + { + PUSH int 38 ; + NEG + } ; + CONS ; + PUSH int 880 ; + CONS ; + { + PUSH int 74 ; + NEG + } ; + CONS ; + { + PUSH int 700211816818020 ; + NEG + } ; + CONS ; + { + PUSH int 61 ; + NEG + } ; + CONS ; + { + PUSH int 4225731623167531856720116547 ; + NEG + } ; + CONS ; + PUSH int 845347 ; + CONS ; + PUSH int 0 ; + CONS ; + { + PUSH int 35 ; + NEG + } ; + CONS ; + PUSH int 2253 ; + CONS ; + PUSH int 0 ; + CONS ; + PUSH int 53171782 ; + CONS ; + { + PUSH int 3321441334028 ; + NEG + } ; + CONS ; + { + PUSH int 836 ; + NEG + } ; + CONS ; + PUSH int 0 ; + CONS ; + PUSH int 6 ; + CONS ; + PUSH int 45065726706 ; + CONS ; + { + PUSH int 38656715012181324777833341 ; + NEG + } ; + CONS ; + { + PUSH int 860751 ; + NEG + } ; + CONS ; + PUSH int 65887177463122604848318428068560521567013 ; + CONS ; + PUSH int 0 ; + CONS ; + PUSH int 0 ; + CONS ; + { + PUSH int 1416265 ; + NEG + } ; + CONS ; + { + PUSH int 53714472824363 ; + NEG + } ; + CONS ; + { + PUSH int 23134 ; + NEG + } ; + CONS ; + PUSH int 3254 ; + CONS ; + { + PUSH int 8 ; + NEG + } ; + CONS ; + PUSH int 0 ; + CONS ; + { + PUSH int 351885 ; + NEG + } ; + CONS ; + PUSH int 0 ; + CONS ; + PUSH int 4761 ; + CONS ; + { + PUSH int 24207210061652118 ; + NEG + } ; + CONS ; + EMPTY_SET int ; + PUSH bool True ; + { + PUSH int 63638 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + { + PUSH int 64268825678407 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + PUSH int 0 ; + UPDATE ; + PUSH bool True ; + PUSH int 2702078 ; + UPDATE ; + PUSH bool True ; + { + PUSH int 4402 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + { + PUSH int 6840674 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + { + PUSH int 7285322465744 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + PUSH int 6 ; + UPDATE ; + PUSH bool True ; + PUSH int 28622132764538418017728845017641117771831716345577 ; + UPDATE ; + PUSH bool True ; + { + PUSH int 732431 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + PUSH int 0 ; + UPDATE ; + PUSH bool True ; + { + PUSH int 15 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + { + PUSH int 5221084 ; + NEG + } ; + UPDATE ; + PUSH bool True ; + PUSH int 26284616685 ; + UPDATE ; + PUSH bool True ; + PUSH int 0 ; + UPDATE ; + PUSH bool True ; + { + PUSH int 748680 ; + NEG + } ; + UPDATE ; + PAIR ; + EMPTY_MAP string int ; + PUSH int 5 ; + SOME ; + PUSH string "qb|H6<@R'#3x[ww3K6*D#]3ltGd*" ; + UPDATE ; + NONE int ; + PUSH string "{7" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + PUSH int 0 ; + SOME ; + PUSH string "86" ; + UPDATE ; + { + PUSH int 635 ; + NEG + } ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE int ; + PUSH string "" ; + UPDATE ; + PAIR ; + NONE int ; + PAIR ; + PUSH bool True ; + PAIR + } ; + # money transferred + PUSH mutez 655522157421055 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool True ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test_if" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT bool ; + IF_NONE { + PUSH string "unable to spawn contract `Test_if`" ; + FAILWITH + } + {} + } ; + PUSH mutez 270996506348010 ; + PUSH bool False ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/testgen/okay/test_loop_left.liq.tz b/rsc/tests/test_loop_left/contracts/test_loop_left.liq.tz similarity index 100% rename from rsc/testgen/okay/test_loop_left.liq.tz rename to rsc/tests/test_loop_left/contracts/test_loop_left.liq.tz diff --git a/rsc/tests/test_loop_left/okay/Test_loop_leftTest1.techel b/rsc/tests/test_loop_left/okay/Test_loop_leftTest1.techel new file mode 100644 index 0000000..3633d07 --- /dev/null +++ b/rsc/tests/test_loop_left/okay/Test_loop_leftTest1.techel @@ -0,0 +1,54 @@ +{ + # deploying contract `Test_loop_left` + { + # creating contract creation parameters + { + # creating storage for contract `Test_loop_left` + PUSH int 252 ; + # money transferred + PUSH mutez 520090578679187 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool False ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "dad724aa6bd" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test_loop_left" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT int ; + IF_NONE { + PUSH string "unable to spawn contract `Test_loop_left`" ; + FAILWITH + } + {} + } ; + PUSH mutez 839316993770640 ; + PUSH int 8082470742351505464873 ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_loop_left/okay/Test_loop_leftTest2.techel b/rsc/tests/test_loop_left/okay/Test_loop_leftTest2.techel new file mode 100644 index 0000000..04b562d --- /dev/null +++ b/rsc/tests/test_loop_left/okay/Test_loop_leftTest2.techel @@ -0,0 +1,81 @@ +{ + # deploying contract `Test_loop_left` + { + # creating contract creation parameters + { + # creating storage for contract `Test_loop_left` + PUSH int 6 ; + # money transferred + PUSH mutez 196843849081997 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool True ; + # delegate + { + PUSH key "" ; + BLAKE2B ; + SOME + } ; + # manager + { + PUSH key "" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test_loop_left" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT int ; + IF_NONE { + PUSH string "unable to spawn contract `Test_loop_left`" ; + FAILWITH + } + {} + } ; + PUSH mutez 612358450730521 ; + PUSH int 685030457578 ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT int ; + IF_NONE { + PUSH string "unable to spawn contract `Test_loop_left`" ; + FAILWITH + } + {} + } ; + PUSH mutez 818747721899655 ; + PUSH int 0 ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/testgen/okay/test_mapmap_closure.liq.tz b/rsc/tests/test_mapmap_closure/contracts/test_mapmap_closure.liq.tz similarity index 100% rename from rsc/testgen/okay/test_mapmap_closure.liq.tz rename to rsc/tests/test_mapmap_closure/contracts/test_mapmap_closure.liq.tz diff --git a/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest1.techel b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest1.techel new file mode 100644 index 0000000..f2e5433 --- /dev/null +++ b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest1.techel @@ -0,0 +1,107 @@ +{ + # deploying contract `Test_mapmap_closure` + { + # creating contract creation parameters + { + # creating storage for contract `Test_mapmap_closure` + EMPTY_MAP string bool ; + # money transferred + PUSH mutez 884000868147679 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool False ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test_mapmap_closure" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 248765687729988 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 396300125259467 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 226585897861230 ; + SOME ; + PUSH string "Q$`Aeai%" ; + UPDATE ; + PUSH mutez 839316993770640 ; + SOME ; + PUSH string ";65(0TLWVNbU`IqB" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 520090578679187 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 270076781902664 ; + SOME ; + PUSH string "#" ; + UPDATE ; + NONE mutez ; + PUSH string ")A{Z){R" ; + UPDATE ; + PUSH mutez 483044753934306 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string ")O];UY%<%" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest10.techel b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest10.techel new file mode 100644 index 0000000..82029f9 --- /dev/null +++ b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest10.techel @@ -0,0 +1,350 @@ +{ + # deploying contract `Test_mapmap_closure` + { + # creating contract creation parameters + { + # creating storage for contract `Test_mapmap_closure` + { + EMPTY_MAP string bool ; + NONE bool ; + PUSH string "U3$xHe491>uTOo+9Aptb6l+e" ; + UPDATE ; + NONE bool ; + PUSH string "C$/ " ; + UPDATE ; + NONE bool ; + PUSH string "" ; + UPDATE ; + NONE bool ; + PUSH string "" ; + UPDATE ; + NONE bool ; + PUSH string "" ; + UPDATE ; + NONE bool ; + PUSH string "weQnQ[" ; + UPDATE ; + NONE bool ; + PUSH string "" ; + UPDATE ; + NONE bool ; + PUSH string "xSb_" ; + UPDATE ; + NONE bool ; + PUSH string "|j*c`qRwV^!J^Tr" ; + UPDATE + } ; + # money transferred + PUSH mutez 211068906946432 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool False ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "b1eb" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test_mapmap_closure" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 692785366900213 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 750840960013333 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 73642952849460 ; + SOME ; + PUSH string "xh8udHM`8Xfr" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 551329452552883 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 100438663487562 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "aWM{UlFa:5?#MRNd4JiX:pl-|?^5-PjgorlPb~0Q.~(WDfP" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 218481662721998 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 569907814468055 ; + { + EMPTY_MAP string mutez ; + NONE mutez ; + PUSH string "Ex!Byvdb" ; + UPDATE ; + PUSH mutez 478748234376661 ; + SOME ; + PUSH string "5FRl>};~Bd`,+DA*" ; + UPDATE ; + PUSH mutez 523615630845803 ; + SOME ; + PUSH string "*)uZsnn?" ; + UPDATE ; + PUSH mutez 284639540211971 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 335145107569863 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 381809141012736 ; + SOME ; + PUSH string "Zyuky>+,<&xJhK!6kBrk" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 919047468489231 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 294725210982228 ; + SOME ; + PUSH string ">Ec" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 731118117763554 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "F#)P]BC " ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 66737108216189 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 282433645369448 ; + { + EMPTY_MAP string mutez ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 33526499925583 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 769126838262631 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 833236594564696 ; + SOME ; + PUSH string "|Mv;$N^[Z(" ; + UPDATE ; + PUSH mutez 177252175425833 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 651804031001732 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 43806279093249 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 79227002434784 ; + { + EMPTY_MAP string mutez ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 753399700489760 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "&" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest2.techel b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest2.techel new file mode 100644 index 0000000..174781b --- /dev/null +++ b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest2.techel @@ -0,0 +1,81 @@ +{ + # deploying contract `Test_mapmap_closure` + { + # creating contract creation parameters + { + # creating storage for contract `Test_mapmap_closure` + EMPTY_MAP string bool ; + # money transferred + PUSH mutez 415312437396834 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + { + PUSH key "" ; + HASH_KEY ; + SOME + } ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test_mapmap_closure" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 23655418796708 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 430719192422479 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest3.techel b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest3.techel new file mode 100644 index 0000000..1c921f2 --- /dev/null +++ b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest3.techel @@ -0,0 +1,218 @@ +{ + # deploying contract `Test_mapmap_closure` + { + # creating contract creation parameters + { + # creating storage for contract `Test_mapmap_closure` + EMPTY_MAP string bool ; + # money transferred + PUSH mutez 731946906374580 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + { + PUSH key "" ; + BLAKE2B ; + SOME + } ; + # manager + { + PUSH key "" ; + SHA256 + } + } ; + CREATE_CONTRACT "Test_mapmap_closure" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 899714826180435 ; + { + EMPTY_MAP string mutez ; + NONE mutez ; + PUSH string "H2" ; + UPDATE ; + NONE mutez ; + PUSH string "Pw{jP[0(_9[" ; + UPDATE ; + PUSH mutez 777558254060656 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 206086407581280 ; + SOME ; + PUSH string "Z" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 812523915759621 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 543121121735633 ; + SOME ; + PUSH string "xWT~[_pT2" ; + UPDATE ; + NONE mutez ; + PUSH string "oSoVX,)NG" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 279705279590826 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 195963196585623 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 20778894797707 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string ">c" ; + UPDATE ; + NONE mutez ; + PUSH string "E.(1" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 890650560441170 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 686285307643497 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 133190492136930 ; + { + EMPTY_MAP string mutez ; + NONE mutez ; + PUSH string "@d'nn-UOL, #z" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 67725316796697 ; + { + EMPTY_MAP string mutez ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "QZt[d[]t N`!9@y`zSx{" ; + UPDATE ; + PUSH mutez 206847510922476 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 163404601225329 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "G" ; + UPDATE ; + PUSH mutez 669061467806008 ; + SOME ; + PUSH string "]z2n" ; + UPDATE ; + NONE mutez ; + PUSH string "zG" ; + UPDATE ; + PUSH mutez 847085808040593 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 53674764234988 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "#czn+.$-&N8" ; + UPDATE ; + NONE mutez ; + PUSH string "ijY" ; + UPDATE ; + PUSH mutez 538546655410461 ; + SOME ; + PUSH string "-7~nwd" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest5.techel b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest5.techel new file mode 100644 index 0000000..a9b8bcb --- /dev/null +++ b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest5.techel @@ -0,0 +1,99 @@ +{ + # deploying contract `Test_mapmap_closure` + { + # creating contract creation parameters + { + # creating storage for contract `Test_mapmap_closure` + EMPTY_MAP string bool ; + # money transferred + PUSH mutez 464797858311815 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool True ; + # delegate + NONE key_hash ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test_mapmap_closure" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 115289420085707 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 103998164291350 ; + SOME ; + PUSH string "e,w_X=]IkSk " ; + UPDATE ; + NONE mutez ; + PUSH string "XdJeP" ; + UPDATE ; + NONE mutez ; + PUSH string "lV0/(Z];.6}ogmA" ; + UPDATE ; + NONE bool ; + PUSH string "1/xw[k&_O7" ; + UPDATE ; + NONE bool ; + PUSH string "" ; + UPDATE ; + PUSH bool False ; + SOME ; + PUSH string "X4-]{nl~5L_rvYWkS;b6>4FR" ; + UPDATE ; + PUSH bool True ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE bool ; + PUSH string "eI&x" ; + UPDATE ; + PUSH bool True ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH bool False ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH bool False ; + SOME ; + PUSH string "JeZ<%XBpk_vFBz9" ; + UPDATE ; + NONE bool ; + PUSH string "" ; + UPDATE ; + PUSH bool False ; + SOME ; + PUSH string "4TJ" ; + UPDATE ; + NONE bool ; + PUSH string "ML{'q~ns3C:9_65!;7>w^=" ; + UPDATE + } ; + # money transferred + PUSH mutez 404104920810412 ; + # delegatable + PUSH bool False ; + # spendable + PUSH bool False ; + # delegate + { + PUSH key "" ; + HASH_KEY ; + SOME + } ; + # manager + { + PUSH key "" ; + HASH_KEY + } + } ; + CREATE_CONTRACT "Test_mapmap_closure" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 502061296629925 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest7.techel b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest7.techel new file mode 100644 index 0000000..cbb6919 --- /dev/null +++ b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest7.techel @@ -0,0 +1,182 @@ +{ + # deploying contract `Test_mapmap_closure` + { + # creating contract creation parameters + { + # creating storage for contract `Test_mapmap_closure` + EMPTY_MAP string bool ; + # money transferred + PUSH mutez 454673604486430 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool False ; + # delegate + { + PUSH key "" ; + SHA256 ; + SOME + } ; + # manager + { + PUSH key "2" ; + BLAKE2B + } + } ; + CREATE_CONTRACT "Test_mapmap_closure" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 293455639682873 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 272592481956243 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 646025984468161 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 203529331436090 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 160740135253806 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 319273421614070 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 654664771873364 ; + SOME ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 489085499918065 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 541709923573730 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 247524686370217 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 637441964176430 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 314218685013063 ; + SOME ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } +} diff --git a/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest8.techel b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest8.techel new file mode 100644 index 0000000..8c3faeb --- /dev/null +++ b/rsc/tests/test_mapmap_closure/okay/Test_mapmap_closureTest8.techel @@ -0,0 +1,552 @@ +{ + # deploying contract `Test_mapmap_closure` + { + # creating contract creation parameters + { + # creating storage for contract `Test_mapmap_closure` + EMPTY_MAP string bool ; + # money transferred + PUSH mutez 357650018490281 ; + # delegatable + PUSH bool True ; + # spendable + PUSH bool False ; + # delegate + { + PUSH key "" ; + HASH_KEY ; + SOME + } ; + # manager + { + PUSH key "" ; + SHA256 + } + } ; + CREATE_CONTRACT "Test_mapmap_closure" + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 79684771094477 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 508589787990929 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 594110426656687 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 351130959826304 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 325495458076461 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 88391735124862 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 466863032254576 ; + SOME ; + PUSH string "" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 776522519520619 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 435301933378680 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "62#_uG" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 284145011263411 ; + SOME ; + PUSH string "4@#921Pv+X-rz/$h:1W5arZ_)A5gS{C(9R$(nuU" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 848715491491297 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 636663131817436 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 896780116393845 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 214018616390902 ; + EMPTY_MAP string mutez ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 121533352890006 ; + { + EMPTY_MAP string mutez ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 419218134330695 ; + SOME ; + PUSH string "QH_" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 250723706738112 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "(AR0{7" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 727487260437989 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 9573478411282 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 654978155997236 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 522055652409192 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "" ; + UPDATE ; + PUSH mutez 857510815236866 ; + SOME ; + PUSH string "" ; + UPDATE ; + PUSH mutez 367834556691495 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "5W({" ; + UPDATE ; + NONE mutez ; + PUSH string "_lyBazaj/4)UF$&V" ; + UPDATE ; + NONE mutez ; + PUSH string "ZzV;G$0]MO>g|t?odI!D?" ; + UPDATE ; + PUSH mutez 579553854962521 ; + SOME ; + PUSH string "8l9Y" ; + UPDATE ; + PUSH mutez 576505955658814 ; + SOME ; + PUSH string "!)" ; + UPDATE ; + NONE mutez ; + PUSH string "6IUCoXzJHci^x!_" ; + UPDATE ; + PUSH mutez 541986281315593 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "G" ; + UPDATE ; + PUSH mutez 333633964418143 ; + SOME ; + PUSH string ">{slJ2*}9" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 485312314666569 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 112881988109588 ; + SOME ; + PUSH string "" ; + UPDATE ; + NONE mutez ; + PUSH string "3.TX2uQLrrwgFI [#+R*>EFuMa}" ; + UPDATE ; + PUSH mutez 248544656118959 ; + SOME ; + PUSH string "G" ; + UPDATE + } ; + TRANSFER_TOKENS + } ; + # create a list of operations and apply + { + NIL operation ; + SWAP ; + CONS ; + APPLY_OPERATIONS + } ; + # create transfer operation + { + DUP ; + # retrieve contract from address, fail if none + { + CONTRACT (map string mutez) ; + IF_NONE { + PUSH string "unable to spawn contract `Test_mapmap_closure`" ; + FAILWITH + } + {} + } ; + PUSH mutez 286496246709173 ; + { + EMPTY_MAP string mutez ; + PUSH mutez 581839447080812 ; + SOME ; + PUSH string "e25lLwOX$^*+dHoHYEOzj ( fprintf fmtt "{"; l |> List.iter (fprintf fmtt " %a ;" fmt_const); - fprintf fmtt "}" + fprintf fmtt " }" + ) + | Mapping map -> ( + fprintf fmtt "{"; + map |> List.iter (fun (k, v) -> fprintf fmtt " Elt %a %a ;" fmt_const k fmt_const v); + fprintf fmtt " }" ) (* Formats instructions. @@ -752,4 +758,4 @@ let typ_of_contract ?alias:(alias = None) (c : contract) : Dtyp.t = Dtyp.Contract c.param |> Dtyp.mk ~alias let comments (blah : string list) (self : t) : t = - { self with comments = self.comments @ blah } \ No newline at end of file + { self with comments = self.comments @ blah } diff --git a/src/1_base/mic.mli b/src/1_base/mic.mli index 5c965a8..97407b4 100644 --- a/src/1_base/mic.mli +++ b/src/1_base/mic.mli @@ -182,6 +182,7 @@ and const = | Pr of const * const | Lst of const list +| Mapping of (const * const) list and contract = { storage : Dtyp.t ; diff --git a/src/2_parse/miclex.mll b/src/2_parse/miclex.mll index 750c833..758a14b 100644 --- a/src/2_parse/miclex.mll +++ b/src/2_parse/miclex.mll @@ -176,6 +176,7 @@ "Left", C_LEFT ; "Right", C_RIGHT ; "Pair", C_PAIR ; + "Elt", C_ELT ; (* Contract's fields. *) "parameter", PARAMETER ; diff --git a/src/2_parse/micparse.mly b/src/2_parse/micparse.mly index 7c591a6..dfb6706 100644 --- a/src/2_parse/micparse.mly +++ b/src/2_parse/micparse.mly @@ -73,7 +73,7 @@ %token C_UNIT %token C_BOOL %token C_INT C_STR C_BYTES -%token C_NONE C_SOME C_LEFT C_RIGHT C_PAIR +%token C_NONE C_SOME C_LEFT C_RIGHT C_PAIR C_ELT (* Tokens for instructions. *) %token @@ -671,6 +671,12 @@ const : Mic.Cont c } + | OCURL + ; lst = const_map + ; CCURL { + Mic.Mapping lst + } + | OCURL ; lst = const_list ; CCURL { @@ -686,4 +692,18 @@ const_list : } | c = const { [c] + } + +const_map : + | C_ELT + ; key = const + ; value = const + ; SEMICOL + ; tail = const_map { + (key, value) :: tail + } + | C_ELT + ; key = const + ; value = const { + [key, value] } \ No newline at end of file diff --git a/src/4_theory/make.ml b/src/4_theory/make.ml index 16ee30f..b086e0d 100644 --- a/src/4_theory/make.ml +++ b/src/4_theory/make.ml @@ -509,7 +509,7 @@ module Theory ( go_up stack | Set set -> - fprintf fmt "AASet {"; + fprintf fmt "Set {"; let elms = Set.fold ( fun (is_first, acc) value -> @@ -622,6 +622,43 @@ module Theory ( go_down [] v + module Inspect = struct + let cmp (v : value) : Cmp.t = + match v with + | C cmp -> cmp + | _ -> asprintf "expected a comparable value, found `%a`" fmt v |> Exc.throw + + let str (v : value) : Str.t = + match v with + | C (Cmp.S s) -> s + | _ -> asprintf "expected a string value, found `%a`" fmt v |> Exc.throw + + let bytes (v : value) : Bytes.t = + match v with + | C (Cmp.By by) -> by + | _ -> asprintf "expected some bytes, found `%a`" fmt v |> Exc.throw + + let key (v : value) : Key.t = + match v with + | Key k -> k + | _ -> asprintf "expected a key, found `%a`" fmt v |> Exc.throw + + let pair (v : value) : value * value = + match v with + | Pair (v_1, v_2) -> v_1, v_2 + | _ -> asprintf "expected a pair, found `%a`" fmt v |> Exc.throw + + let list (v : value) : value Lst.t = + match v with + | Lst l -> l + | _ -> asprintf "expected a list value, found `%a`" fmt v |> Exc.throw + + let map (v : value) : value Map.t = + match v with + | Map map -> map + | _ -> asprintf "expected a map value, found `%a`" fmt v |> Exc.throw + end + module Of = struct let int (i : Int.t) : value = C (Cmp.I i) let nat (i : Nat.t) : value = C (Cmp.N i) @@ -660,18 +697,35 @@ module Theory ( type constructor = value -> value type list_constructor = value list -> value + type map_constructor = (value * value) list -> value type frame = | Con of constructor (* A simple constructor. Takes a value and produces a value. *) - | LstCon of list_constructor * Mic.const list * value list + | LstCon of Dtyp.t * list_constructor * Mic.const list * value list (* Constructs a value from a list. - First is the constructor, then the constants to transpose, values already processed in - reverse order. + First is type of the elements, then the constructor, then the constants to transpose, + values already processed in reverse order. + *) + | MapCon of + (Dtyp.t * Dtyp.t) + * map_constructor + * (value, Mic.const) Either.t + * (Mic.const * Mic.const) list + * (value * value) list + (* Constructs a value from a mapping. + + First is type of the keys and values, then the constructor, then either `Lft key` if + we're converting a value (and `key` is the key), or `Rgt val` if we're converting a key + (and `val` is the value). Then the mappings to process. Last are the values already + processed. *) - let const (dtyp : Dtyp.t) (c : Mic.const) : value = - let rec go_down (stack : frame list) (c : Mic.const) : value = + let const (dt : Dtyp.t) (c : Mic.const) : value = + let bail_msg () = + asprintf "cannot cast constant %a to type %a" Mic.fmt_const c Dtyp.fmt dt + in + let rec go_down (stack : frame list) (dtyp : Dtyp.t) (c : Mic.const) : value = match c with | Mic.U -> U |> go_up stack @@ -684,30 +738,54 @@ module Theory ( | Mic.No -> Option None |> go_up stack - | Mic.So c -> go_down (Con (fun v -> Option (Some v)) :: stack) c - | Mic.Lft c -> go_down (Con (fun v -> Either (Either.Lft v)) :: stack) c - | Mic.Rgt c -> go_down (Con (fun v -> Either (Either.Rgt v)) :: stack) c + | Mic.So c -> ( + let dtyp = Dtyp.Inspect.option dtyp in + go_down (Con (fun v -> Option (Some v)) :: stack) dtyp c + ) + | Mic.Lft c -> ( + let dtyp = Dtyp.Inspect.either dtyp |> fst in + go_down (Con (fun v -> Either (Either.Lft v)) :: stack) dtyp c + ) + | Mic.Rgt c -> ( + let dtyp = Dtyp.Inspect.either dtyp |> snd in + go_down (Con (fun v -> Either (Either.Rgt v)) :: stack) dtyp c + ) | Mic.Lst (hd :: tl) -> ( - let frame = - LstCon ((fun lst -> Lst (Lst.of_list lst)), tl, []) + let set_of_list (l : value list) : value = + Set ( + l |> List.fold_left ( + fun set elm -> + let elm = Inspect.cmp elm in + Set.update elm true set + ) Set.empty + ) in - go_down (frame :: stack) hd + let frame, dtyp = + match dtyp.typ with + | Dtyp.List sub -> + LstCon (sub, (fun lst -> Lst (Lst.of_list lst)), tl, []), sub + | Dtyp.Set sub -> + LstCon (sub, set_of_list, tl, []), sub + | _ -> bail_msg () |> Exc.throw + in + go_down (frame :: stack) dtyp hd ) | Mic.Lst [] -> ( match dtyp.typ with | Dtyp.List _ -> Lst (Lst.of_list []) | Dtyp.Set _ -> Set (Set.empty) | Dtyp.Map _ -> Map (Map.empty) - | _ -> - asprintf "cannot cast constant %a to %a" Mic.fmt_const c Dtyp.fmt dtyp - |> Exc.throw + | Dtyp.BigMap _ -> BigMap (BigMap.empty) + | _ -> bail_msg () |> Exc.throw ) |> go_up stack - | Mic.Pr (fst, snd) -> + | Mic.Pr (fst, snd) -> ( + let fst_dtyp, snd_dtyp = Dtyp.Inspect.pair dtyp in let frame = (fun () -> LstCon ( + snd_dtyp, (function | [ fst ; snd ] -> pair fst snd | l -> @@ -729,19 +807,87 @@ module Theory ( Mic.fmt_const c ) in - go_down (frame :: stack) fst + go_down (frame :: stack) fst_dtyp fst + ) + + | Mic.Mapping [] -> ( + match dtyp.typ with + | Dtyp.Map _ -> Map Map.empty + | Dtyp.BigMap _ -> BigMap BigMap.empty + | _ -> bail_msg () |> Exc.throw + ) |> go_up stack + + | Mic.Mapping ((first_key, first_value) :: tail) -> ( + let of_list + (empty : 'a) + (update : Cmp.t -> value option -> 'a -> 'a) + (map : (value * value) list) + : 'a + = + List.fold_left ( + fun map (key, value) -> + let key = Inspect.cmp key in + let value = Some value in + update key value map + ) empty map + in + let map_of_list, key_dtyp, value_dtyp = + match dtyp.typ with + | Dtyp.Map (k, v) -> + ( + fun (map : (value * value) list) -> + Map (of_list Map.empty Map.update map) + ), k, v + | Dtyp.BigMap (k, v) -> + ( + fun (map : (value * value) list) -> + BigMap (of_list BigMap.empty BigMap.update map) + ), k, v + | _ -> bail_msg () |> Exc.throw + in + let frame = + MapCon ( + (key_dtyp, value_dtyp), map_of_list, Either.Rgt first_value, tail, [] + ) + in + go_down (frame :: stack) key_dtyp first_key + ) and go_up (stack : frame list) (v : value) : value = match stack with | [] -> v | (Con constructor) :: stack -> constructor v |> go_up stack - | (LstCon (constructor, [], tail)) :: stack -> + | (LstCon (_, constructor, [], tail)) :: stack -> v :: tail |> List.rev |> constructor |> go_up stack - | (LstCon (constructor, cst :: cst_tail, values)) :: stack -> - let stack = (LstCon (constructor, cst_tail, v :: values)) :: stack in - go_down stack cst + | (LstCon (dtyp, constructor, cst :: cst_tail, values)) :: stack -> + let stack = (LstCon (dtyp, constructor, cst_tail, v :: values)) :: stack in + go_down stack dtyp cst + | ( + MapCon ((key_dtyp, value_dtyp), cons, Either.Lft key, to_do, values) + ) :: stack -> ( + let values = (key, v) :: values in + match to_do with + | [] -> List.rev values |> cons |> go_up stack + | (key, value) :: to_do -> + let stack = + (MapCon + ((key_dtyp, value_dtyp), cons, Either.Rgt value, to_do, values) + ) :: stack + in + go_down stack key_dtyp key + ) + | ( + MapCon ((key_dtyp, value_dtyp), cons, Either.Rgt value, to_do, values) + ) :: stack -> + let key = v in + let stack = + ( + MapCon ((key_dtyp, value_dtyp), cons, Either.Lft key, to_do, values) + ) :: stack + in + go_down stack value_dtyp value in - go_down [] c + go_down [] dt c module Operation = struct let create (uid : int) (params : contract_params) (contract : Mic.contract) : value = @@ -776,43 +922,6 @@ module Theory ( end end - module Inspect = struct - let cmp (v : value) : Cmp.t = - match v with - | C cmp -> cmp - | _ -> asprintf "expected a comparable value, found `%a`" fmt v |> Exc.throw - - let str (v : value) : Str.t = - match v with - | C (Cmp.S s) -> s - | _ -> asprintf "expected a string value, found `%a`" fmt v |> Exc.throw - - let bytes (v : value) : Bytes.t = - match v with - | C (Cmp.By by) -> by - | _ -> asprintf "expected some bytes, found `%a`" fmt v |> Exc.throw - - let key (v : value) : Key.t = - match v with - | Key k -> k - | _ -> asprintf "expected a key, found `%a`" fmt v |> Exc.throw - - let pair (v : value) : value * value = - match v with - | Pair (v_1, v_2) -> v_1, v_2 - | _ -> asprintf "expected a pair, found `%a`" fmt v |> Exc.throw - - let list (v : value) : value Lst.t = - match v with - | Lst l -> l - | _ -> asprintf "expected a list value, found `%a`" fmt v |> Exc.throw - - let map (v : value) : value Map.t = - match v with - | Map map -> map - | _ -> asprintf "expected a map value, found `%a`" fmt v |> Exc.throw - end - (* # TODO - stackless @@ -856,6 +965,18 @@ module Theory ( ) |> Exc.chain_err bail_msg + | Dtyp.Set elms, Set s -> + ( + fun () -> Set ( + s |> Set.fold ( + fun set elm -> + let elm = Cmp.cast elms elm in + Set.update elm true set + ) Set.empty + ) + ) + |> Exc.chain_err bail_msg + | Dtyp.Map (keys, values), Map map -> Map ( map |> Map.fold ( fun map key value -> diff --git a/src/7_test/load.ml b/src/7_test/load.ml index 9cb4cdd..c4e1efe 100644 --- a/src/7_test/load.ml +++ b/src/7_test/load.ml @@ -46,7 +46,7 @@ let test (name : string) (source : Source.t) (chan : in_channel) : Testcase.t = let code = contract.entry in if DtypCheck.is_compatible env unit contract.entry_param |> not then ( Exc.throws [ - asprintf "contract parameter must have type unit, found %a" + asprintf "testcase contract parameter must have type unit, found %a" Dtyp.fmt contract.entry_param ; "while parsing a contract as a testcase" ; ] From d6f16afab342d8aac0ea5ef84688d7e92ebf3ef9 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 14:54:41 +0100 Subject: [PATCH 02/13] mention signature datatype is not supported --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b3e3117..ad88a1a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,9 @@ Techelson is currently in beta. The rough list of (planned) features is - [x] operation must-fail: specifies that a (chain of) operation(s) should fail - [x] inspection instruction: break points and stack inspection -- [x] support for all data types (potentially with some liberty taken compared to tezos) +- [ ] support for all data types (potentially with some liberty taken compared to tezos) + - [x] everything but `signature` + - [ ] `signature` - [ ] semantics as close to the tezos protocol as possible - [x] for non-crypto operations (`int`, `nat`, `map`, *etc.*) - [ ] for crypto operations From c5e93654f02d8e3902d5332928351025cf40ec06 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 14:59:06 +0100 Subject: [PATCH 03/13] testing github pages --- docs/index.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 docs/index.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..ad88a1a --- /dev/null +++ b/docs/index.md @@ -0,0 +1,67 @@ +# techelson + +TEst miCHELSON: `techelson` + +A test execution engine for Michelson smart contracts. + +# Features + +Techelson is currently in beta. The rough list of (planned) features is + +- [x] operation must-fail: specifies that a (chain of) operation(s) should fail +- [x] inspection instruction: break points and stack inspection +- [ ] support for all data types (potentially with some liberty taken compared to tezos) + - [x] everything but `signature` + - [ ] `signature` +- [ ] semantics as close to the tezos protocol as possible + - [x] for non-crypto operations (`int`, `nat`, `map`, *etc.*) + - [ ] for crypto operations +- [x] support import of local michelson contracts +- [ ] support retrieving the storage and code of contracts directly from the tezos blockchain + +# Build + +We recommend to use the latest version of the OCaml compiler. For example + +```bash +> opam switch create techelson 4.07.1 +``` + +`techelson`relies on the [dune] build system and a few other libraries: + +```bash +> opam install dune menhir zarith ptime +``` + +(This list of dependencies might be out-of-date. Check `.travis.sh` for the latest version.) Finally, build `techelson` with `make`. The binary will be `./bin/techelson`. + +You can also run `make test` to make sure there is no problem with the techelson binary. The user documentation's root is `docs/user_doc/index.html`. You can regenerate it with `make user-doc`, as long as you have [mdbook] installed. + +# Usage + +Assuming the binary `techelson` is in you path, you can run it with + +```bash +> techelson [ --contract ]* -- [ ]* +``` + +Argument `` is a michelson contract (`storage`, `parameter` and `code` fields). `` is an optional initializer for the contract. It should contain two fields : `parameter` and `code`. The former is the type of data the initializer takes as input, and the latter is a (sequence of) michelson instruction(s) which, from a stack with a value of type `parameter`, produces a stack with a value of the `storage` type appearing in the `` associated with the initializer. + +A `` is a (sequence of) michelson instruction(s) which produce(s) a list of `operation`s from an empty stack. Techelson runs all testcases sequentially and reports the errors it runs into. + +For example + +```bash +> techelson --contract rsc/tests/test0/contracts/test0.liq.tz -- rsc/tests/test0/okay/Test0Test1.techel +``` + +# Documentation + +The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by techelson's main developer on how to use techelson with [Liquidity]: [adrienchampion.github.io/blog]. + +[dune]: https://github.com/ocaml/dune (Dune project manager's Github page) +[mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) +[liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc (Techelson's user documentation) +[Liquidity]: http://www.liquidity-lang.org/ (Liquidity's official page) +[adrienchampion.github.io/blog]: https://adrienchampion.github.io/blog/tezos/techelson/with_liquidity/index.html (Using techelson with Liquidity) +[the main repo's git page]: https://ocamlpro.github.io/techelson/user_doc (Techelson's user documentation) \ No newline at end of file From 23d825ebe0399c35a7b2de428ba9962a44e19ac0 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 15:03:57 +0100 Subject: [PATCH 04/13] Trying out official page --- Makefile | 3 +++ README.md | 12 ++++++------ docs/index.md | 12 ++++++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index ca1754c..51e103b 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,9 @@ user-doc: test: bin-test doc-test doc: user-doc + cp README.md docs/index.md + +pre-commit: test doc user-doc clean: dune clean diff --git a/README.md b/README.md index ad88a1a..5c89908 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# techelson +# Techelson TEst miCHELSON: `techelson` @@ -27,19 +27,19 @@ We recommend to use the latest version of the OCaml compiler. For example > opam switch create techelson 4.07.1 ``` -`techelson`relies on the [dune] build system and a few other libraries: +Techelson relies on the [dune] build system and a few other libraries: ```bash > opam install dune menhir zarith ptime ``` -(This list of dependencies might be out-of-date. Check `.travis.sh` for the latest version.) Finally, build `techelson` with `make`. The binary will be `./bin/techelson`. +(This list of dependencies might be out-of-date. Check `.travis.sh` for the latest version.) Finally, build Techelson with `make`. The binary will be `./bin/techelson`. -You can also run `make test` to make sure there is no problem with the techelson binary. The user documentation's root is `docs/user_doc/index.html`. You can regenerate it with `make user-doc`, as long as you have [mdbook] installed. +You can also run `make test` to make sure there is no problem with the Techelson binary. The user documentation's root is `docs/user_doc/index.html`. You can regenerate it with `make user-doc`, as long as you have [mdbook] installed. # Usage -Assuming the binary `techelson` is in you path, you can run it with +Assuming the binary Techelson is in you path, you can run it with ```bash > techelson [ --contract ]* -- [ ]* @@ -57,7 +57,7 @@ For example # Documentation -The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by techelson's main developer on how to use techelson with [Liquidity]: [adrienchampion.github.io/blog]. +The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by Techelson's main developer on how to use Techelson with [Liquidity]: [adrienchampion.github.io/blog]. [dune]: https://github.com/ocaml/dune (Dune project manager's Github page) [mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) diff --git a/docs/index.md b/docs/index.md index ad88a1a..5c89908 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -# techelson +# Techelson TEst miCHELSON: `techelson` @@ -27,19 +27,19 @@ We recommend to use the latest version of the OCaml compiler. For example > opam switch create techelson 4.07.1 ``` -`techelson`relies on the [dune] build system and a few other libraries: +Techelson relies on the [dune] build system and a few other libraries: ```bash > opam install dune menhir zarith ptime ``` -(This list of dependencies might be out-of-date. Check `.travis.sh` for the latest version.) Finally, build `techelson` with `make`. The binary will be `./bin/techelson`. +(This list of dependencies might be out-of-date. Check `.travis.sh` for the latest version.) Finally, build Techelson with `make`. The binary will be `./bin/techelson`. -You can also run `make test` to make sure there is no problem with the techelson binary. The user documentation's root is `docs/user_doc/index.html`. You can regenerate it with `make user-doc`, as long as you have [mdbook] installed. +You can also run `make test` to make sure there is no problem with the Techelson binary. The user documentation's root is `docs/user_doc/index.html`. You can regenerate it with `make user-doc`, as long as you have [mdbook] installed. # Usage -Assuming the binary `techelson` is in you path, you can run it with +Assuming the binary Techelson is in you path, you can run it with ```bash > techelson [ --contract ]* -- [ ]* @@ -57,7 +57,7 @@ For example # Documentation -The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by techelson's main developer on how to use techelson with [Liquidity]: [adrienchampion.github.io/blog]. +The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by Techelson's main developer on how to use Techelson with [Liquidity]: [adrienchampion.github.io/blog]. [dune]: https://github.com/ocaml/dune (Dune project manager's Github page) [mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) From 145feed28102307153e93375fd76828be05fb652 Mon Sep 17 00:00:00 2001 From: Adrien Champion Date: Tue, 26 Feb 2019 15:06:02 +0100 Subject: [PATCH 05/13] Set theme jekyll-theme-leap-day --- docs/_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_config.yml b/docs/_config.yml index 1885487..b849713 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1 +1 @@ -theme: jekyll-theme-midnight \ No newline at end of file +theme: jekyll-theme-leap-day \ No newline at end of file From ab5cdcd42250dec8a62ae3b4cf99785a32bcf820 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 15:08:43 +0100 Subject: [PATCH 06/13] moved readme's doc section around --- README.md | 8 ++++---- docs/index.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 5c89908..481a22a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,10 @@ TEst miCHELSON: `techelson` A test execution engine for Michelson smart contracts. +# Documentation + +The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by Techelson's main developer on how to use Techelson with [Liquidity]: [adrienchampion.github.io/blog]. + # Features Techelson is currently in beta. The rough list of (planned) features is @@ -55,10 +59,6 @@ For example > techelson --contract rsc/tests/test0/contracts/test0.liq.tz -- rsc/tests/test0/okay/Test0Test1.techel ``` -# Documentation - -The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by Techelson's main developer on how to use Techelson with [Liquidity]: [adrienchampion.github.io/blog]. - [dune]: https://github.com/ocaml/dune (Dune project manager's Github page) [mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) [liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc (Techelson's user documentation) diff --git a/docs/index.md b/docs/index.md index 5c89908..481a22a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,6 +4,10 @@ TEst miCHELSON: `techelson` A test execution engine for Michelson smart contracts. +# Documentation + +The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by Techelson's main developer on how to use Techelson with [Liquidity]: [adrienchampion.github.io/blog]. + # Features Techelson is currently in beta. The rough list of (planned) features is @@ -55,10 +59,6 @@ For example > techelson --contract rsc/tests/test0/contracts/test0.liq.tz -- rsc/tests/test0/okay/Test0Test1.techel ``` -# Documentation - -The user documentation is hosted here: [liquidity-lang.org/techelson/doc]. You can also access the bleeding edge version on [the main repo's git page]. Finally, there is a blog post by Techelson's main developer on how to use Techelson with [Liquidity]: [adrienchampion.github.io/blog]. - [dune]: https://github.com/ocaml/dune (Dune project manager's Github page) [mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) [liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc (Techelson's user documentation) From c2c30f05eb660fef4462be21dce9fdc58d71c9cc Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 15:10:52 +0100 Subject: [PATCH 07/13] link to opam install doc in readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 481a22a..c8c745e 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,8 @@ Techelson is currently in beta. The rough list of (planned) features is # Build -We recommend to use the latest version of the OCaml compiler. For example +We recommend to use the latest version of the OCaml compiler. Make sure you have [opam installed], +and run ```bash > opam switch create techelson 4.07.1 @@ -59,6 +60,7 @@ For example > techelson --contract rsc/tests/test0/contracts/test0.liq.tz -- rsc/tests/test0/okay/Test0Test1.techel ``` +[opam installed]: https://opam.ocaml.org/doc/Install.html (Opam install instructions) [dune]: https://github.com/ocaml/dune (Dune project manager's Github page) [mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) [liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc (Techelson's user documentation) From 23c6f010a840301ad46637344401d9f54a5a5f32 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 15:11:26 +0100 Subject: [PATCH 08/13] link to opam install doc in homepage --- docs/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 481a22a..c8c745e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -25,7 +25,8 @@ Techelson is currently in beta. The rough list of (planned) features is # Build -We recommend to use the latest version of the OCaml compiler. For example +We recommend to use the latest version of the OCaml compiler. Make sure you have [opam installed], +and run ```bash > opam switch create techelson 4.07.1 @@ -59,6 +60,7 @@ For example > techelson --contract rsc/tests/test0/contracts/test0.liq.tz -- rsc/tests/test0/okay/Test0Test1.techel ``` +[opam installed]: https://opam.ocaml.org/doc/Install.html (Opam install instructions) [dune]: https://github.com/ocaml/dune (Dune project manager's Github page) [mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) [liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc (Techelson's user documentation) From a0a8f853370b9c0f6e7586dd92d3e4fa4d99d558 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 15:14:57 +0100 Subject: [PATCH 09/13] fixed links in homepage --- README.md | 14 +++++++------- docs/index.md | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index c8c745e..d114772 100644 --- a/README.md +++ b/README.md @@ -60,10 +60,10 @@ For example > techelson --contract rsc/tests/test0/contracts/test0.liq.tz -- rsc/tests/test0/okay/Test0Test1.techel ``` -[opam installed]: https://opam.ocaml.org/doc/Install.html (Opam install instructions) -[dune]: https://github.com/ocaml/dune (Dune project manager's Github page) -[mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) -[liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc (Techelson's user documentation) -[Liquidity]: http://www.liquidity-lang.org/ (Liquidity's official page) -[adrienchampion.github.io/blog]: https://adrienchampion.github.io/blog/tezos/techelson/with_liquidity/index.html (Using techelson with Liquidity) -[the main repo's git page]: https://ocamlpro.github.io/techelson/user_doc (Techelson's user documentation) \ No newline at end of file +[opam installed]: https://opam.ocaml.org/doc/Install.html +[dune]: https://github.com/ocaml/dune +[mdbook]: https://github.com/rust-lang-nursery/mdBook +[liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc +[Liquidity]: http://www.liquidity-lang.org/ +[adrienchampion.github.io/blog]: https://adrienchampion.github.io/blog/tezos/techelson/with_liquidity/index.html +[the main repo's git page]: https://ocamlpro.github.io/techelson/user_doc \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index c8c745e..d114772 100644 --- a/docs/index.md +++ b/docs/index.md @@ -60,10 +60,10 @@ For example > techelson --contract rsc/tests/test0/contracts/test0.liq.tz -- rsc/tests/test0/okay/Test0Test1.techel ``` -[opam installed]: https://opam.ocaml.org/doc/Install.html (Opam install instructions) -[dune]: https://github.com/ocaml/dune (Dune project manager's Github page) -[mdbook]: https://github.com/rust-lang-nursery/mdBook (Mdbook's github repository) -[liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc (Techelson's user documentation) -[Liquidity]: http://www.liquidity-lang.org/ (Liquidity's official page) -[adrienchampion.github.io/blog]: https://adrienchampion.github.io/blog/tezos/techelson/with_liquidity/index.html (Using techelson with Liquidity) -[the main repo's git page]: https://ocamlpro.github.io/techelson/user_doc (Techelson's user documentation) \ No newline at end of file +[opam installed]: https://opam.ocaml.org/doc/Install.html +[dune]: https://github.com/ocaml/dune +[mdbook]: https://github.com/rust-lang-nursery/mdBook +[liquidity-lang.org/techelson/doc]: http://www.liquidity-lang.org/techelson/doc +[Liquidity]: http://www.liquidity-lang.org/ +[adrienchampion.github.io/blog]: https://adrienchampion.github.io/blog/tezos/techelson/with_liquidity/index.html +[the main repo's git page]: https://ocamlpro.github.io/techelson/user_doc \ No newline at end of file From 6728f6da8e657e49f273bac1c06e22e79b8c3284 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 15:17:57 +0100 Subject: [PATCH 10/13] readme features: discuss byte-related stuff --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d114772..79e510b 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,10 @@ Techelson is currently in beta. The rough list of (planned) features is - [x] everything but `signature` - [ ] `signature` - [ ] semantics as close to the tezos protocol as possible - - [x] for non-crypto operations (`int`, `nat`, `map`, *etc.*) + - [x] for non-crypto, non-packing-related operations (`int`, `nat`, `map`, *etc.*) - [ ] for crypto operations + - [x] internal packing and unpacking (packed and unpacked by Techelson) + - [ ] arbitrary byte unpacking - [x] support import of local michelson contracts - [ ] support retrieving the storage and code of contracts directly from the tezos blockchain From a64f9875afde955aa9a3bfde74a403a6c4914393 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Tue, 26 Feb 2019 15:19:13 +0100 Subject: [PATCH 11/13] homepage features: discuss byte-related stuff --- docs/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index d114772..79e510b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,8 +18,10 @@ Techelson is currently in beta. The rough list of (planned) features is - [x] everything but `signature` - [ ] `signature` - [ ] semantics as close to the tezos protocol as possible - - [x] for non-crypto operations (`int`, `nat`, `map`, *etc.*) + - [x] for non-crypto, non-packing-related operations (`int`, `nat`, `map`, *etc.*) - [ ] for crypto operations + - [x] internal packing and unpacking (packed and unpacked by Techelson) + - [ ] arbitrary byte unpacking - [x] support import of local michelson contracts - [ ] support retrieving the storage and code of contracts directly from the tezos blockchain From e4c82158b05e9eb35ef1f016d06edea701a869c3 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Fri, 1 Mar 2019 11:30:07 +0100 Subject: [PATCH 12/13] trying to improve output's readability --- src/1_base/exc.ml | 7 +++-- src/1_base/mic.ml | 20 ++++++++++--- src/1_base/mic.mli | 7 +++-- src/4_theory/make.ml | 2 +- src/5_stack/contracts.ml | 23 ++++++++++----- src/5_stack/sigs.mli | 4 +-- src/7_test/make.ml | 39 ++++++++++++++++++++----- src/7_test/sigs.mli | 13 +++++++-- src/main.ml | 4 +-- src/run.ml | 63 +++++++++++++++++++++++++--------------- 10 files changed, 128 insertions(+), 54 deletions(-) diff --git a/src/1_base/exc.ml b/src/1_base/exc.ml index 9c5c1b7..78caea3 100644 --- a/src/1_base/exc.ml +++ b/src/1_base/exc.ml @@ -28,8 +28,11 @@ module Protocol = struct | Tezos blah -> fprintf fmt "%s" blah | MutezOvrflw blah -> fprintf fmt "mutez operation overflow: %s" blah | TooPoor (src, tgt, mutez) -> - fprintf fmt "insufficient balance to process transaction from %s to %s of %s mutez" - src tgt (Int64.to_string mutez) + fprintf fmt + "@[insufficient balance to process transaction of %s mutez" + (Int64.to_string mutez) ; + fprintf fmt "@ from %s" src ; + fprintf fmt "@ to %s@]" tgt end type exc = diff --git a/src/1_base/mic.ml b/src/1_base/mic.ml index 96d30a0..23ec8b2 100644 --- a/src/1_base/mic.ml +++ b/src/1_base/mic.ml @@ -526,10 +526,22 @@ let rec fmt_extension | SpawnContract dtyp -> fprintf fmtt "SPAWN_CONTRACT%a %a" annots () Dtyp.fmt dtyp (* Formats contracts. *) -and fmt_contract (fmtt : formatter) ({ storage ; param ; entry } : contract) : unit = +and fmt_contract + ~(full : bool) + (fmtt : formatter) + ({ storage ; param ; entry } : contract) + : unit += fprintf - fmtt "@[@[{@ storage %a ;@ parameter %a ;@ code @[%a@] ;@]@,}@]" - Dtyp.fmt storage Dtyp.fmt param fmt entry + fmtt "@[@[{@ storage %a ;@ parameter %a ;@ code " + Dtyp.fmt storage Dtyp.fmt param ; + ( + if full then + fprintf fmtt "@[%a@]" fmt entry + else + fprintf fmtt "..." + ); + fprintf fmtt ";@]@,}@]" (* Formats constants. @@ -544,7 +556,7 @@ and fmt_const (fmtt : formatter) (c : const) : unit = | Int n -> fprintf fmtt "%s" n | Str s -> fprintf fmtt "%S" s | Bytes s -> fprintf fmtt "0x%s" s - | Cont c -> fmt_contract fmtt c + | Cont c -> fmt_contract ~full:false fmtt c | Lft c -> fprintf fmtt "(Left %a)" fmt_const c | Rgt c -> fprintf fmtt "(Right %a)" fmt_const c | No -> fprintf fmtt "None" diff --git a/src/1_base/mic.mli b/src/1_base/mic.mli index 97407b4..5fedebd 100644 --- a/src/1_base/mic.mli +++ b/src/1_base/mic.mli @@ -254,8 +254,11 @@ val fmt_extension : extension -> unit -(** Contract formatter. *) -val fmt_contract : formatter -> contract -> unit +(** Contract formatter. + + If `full` is true, the code of the contract will be printed, otherwise it will appear as `...`. +*) +val fmt_contract : full : bool -> formatter -> contract -> unit (** Constant formatter. *) val fmt_const : formatter -> const -> unit diff --git a/src/4_theory/make.ml b/src/4_theory/make.ml index b086e0d..9795263 100644 --- a/src/4_theory/make.ml +++ b/src/4_theory/make.ml @@ -476,7 +476,7 @@ module Theory ( fprintf fmtt " (%a)" (fmt_operation op_uid) operation | Create (params, contract) -> fprintf fmtt "@[CREATE[uid:%i] %a %a@]" - uid fmt_contract_params params Mic.fmt_contract contract + uid fmt_contract_params params (Mic.fmt_contract ~full:false) contract | CreateNamed (params, contract) -> fprintf fmtt "@[CREATE[uid:%i] %a \"%s\"@]" uid fmt_contract_params params contract.name diff --git a/src/5_stack/contracts.ml b/src/5_stack/contracts.ml index 3ad147a..43d08f6 100644 --- a/src/5_stack/contracts.ml +++ b/src/5_stack/contracts.ml @@ -127,19 +127,28 @@ module Contracts (T : Theo.Sigs.Theory) : Sigs.ContractEnv with module Theory = try Some (Hashtbl.find self.live (Theory.Address.uid address)) with | Not_found -> None - let transfer ~(src : string) (tez : Theory.Tez.t) (live : live) : unit = + let transfer ~(src : live option) (tez : Theory.Tez.t) (live : live) : unit = (fun () -> live.balance <- Theory.Tez.add live.balance tez) - |> Exc.chain_err ( - fun () -> - asprintf "while transfering %a from %s to live contract %a" - Theory.Tez.fmt tez src fmt live + |> Exc.chain_errs ( + fun () -> [ + asprintf "while transfering %a" Theory.Tez.fmt tez ; + ( + match src with + | None -> asprintf "from top-level testcase" + | Some src -> asprintf "from live contract %a" fmt src + ); + asprintf "to live contract %a" fmt live ; + ] ) - let collect ~(tgt : string) (tez : Theory.Tez.t) (live : live) : unit = + let collect ~(tgt : live) (tez : Theory.Tez.t) (live : live) : unit = if Theory.Tez.compare live.balance tez >= 0 then ( live.balance <- Theory.Tez.sub live.balance tez ) else - Exc.Throw.too_poor ~src:live.contract.name ~tgt ~amount:(Theory.Tez.to_native tez) + Exc.Throw.too_poor + ~src:(asprintf "%a" fmt live) + ~tgt:(asprintf "%a" fmt tgt) + ~amount:(Theory.Tez.to_native tez) let set_delegate (delegate : Theory.KeyH.t option) (self : live) : unit = Theory.set_delegate delegate self.params diff --git a/src/5_stack/sigs.mli b/src/5_stack/sigs.mli index 121ed69..bc4262d 100644 --- a/src/5_stack/sigs.mli +++ b/src/5_stack/sigs.mli @@ -110,10 +110,10 @@ module type ContractEnv = sig val count : t -> int (** Transfers some money to a live contract. *) - val transfer : src : string -> Theory.Tez.t -> live -> unit + val transfer : src : live option -> Theory.Tez.t -> live -> unit (** Collects some money from a live contract. *) - val collect : tgt : string -> Theory.Tez.t -> live -> unit + val collect : tgt : live -> Theory.Tez.t -> live -> unit (** Updates a live contract. diff --git a/src/7_test/make.ml b/src/7_test/make.ml index e19848a..0fc9aa4 100644 --- a/src/7_test/make.ml +++ b/src/7_test/make.ml @@ -189,9 +189,8 @@ module TestCxt ( fmt_operations self.test_ops; fprintf fmt "@]" - let next_op (self : apply_ops) : Env.operation option = - let op = Lst.hd self.ops in - if op <> None then op else Lst.hd self.test_ops + let fmt_contracts (fmt : formatter) (self : apply_ops) : unit = + fmt_contracts fmt (contract_env self) let pop_next_op (self : apply_ops) : Env.operation option = match self.ops with @@ -207,6 +206,26 @@ module TestCxt ( Some op | [] -> None + (* Returns the next operation. + + The only side effect this function can have is if + - `self.ops` is empty, and + - `self.test_ops` is `test_op :: tail`. + + Then `self.ops <- [test_op]` and `self.test_ops <- tail`. This is semantics preserving: + the next test operation is staged, but no operation is lost (popped). This is why these + details are not discussed in the `mli`'s doc for this function. + *) + let next_op (self : apply_ops) : Env.operation option = + let op = Lst.hd self.ops in + if op <> None then op else ( + match pop_next_test_op self with + | None -> None + | Some op -> + self.ops <- [op]; + Some op + ) + let stage_next_test_op (self : apply_ops) : (run_test, transfer) Either.t option = self.ops <- []; match pop_next_test_op self with @@ -446,12 +465,12 @@ module TestCxt ( |> Exc.throw | Some live -> live in - let src : string = + let src = match Run.Env.Live.get sender contract_env with | Some src -> - Run.Env.Live.collect ~tgt:tgt.contract.name amount src; - src.contract.name - | None -> "testcase" + Run.Env.Live.collect ~tgt:tgt amount src; + Some src + | None -> None in Run.Env.Live.transfer ~src amount tgt; @@ -586,5 +605,11 @@ module TestCxt ( fmt_operations self.ops fmt_operations self.test_ops; fprintf fmt "@]" + + let fmt_op (fmt : formatter) (self : transfer) : unit = + fprintf fmt "%a" Env.Op.fmt self.op + + let fmt_contracts (fmt : formatter) (self : transfer) : unit = + fmt_contracts fmt (contract_env self) end end diff --git a/src/7_test/sigs.mli b/src/7_test/sigs.mli index 1b9e919..cea0a36 100644 --- a/src/7_test/sigs.mli +++ b/src/7_test/sigs.mli @@ -115,12 +115,15 @@ module type TestCxt = sig (** The next operation to apply. *) val next_op : apply_ops -> Env.operation option - (** Concise `run_test` formatter. + (** Concise `apply_ops` formatter. This formatter only outputs live contracts and pending operations. For a more verbose output, use the accessors. *) val fmt : formatter -> apply_ops -> unit + + (** Formats the live contract in the environment. *) + val fmt_contracts : formatter -> apply_ops -> unit end (** Contains the operations related to `transfer`. *) @@ -143,11 +146,17 @@ module type TestCxt = sig (** The contract environment. *) val contract_env : transfer -> Env.t - (** Concise `run_test` formatter. + (** Concise `transfer` formatter. This formatter only outputs live contracts and pending operations. For a more verbose output, use the accessors. *) val fmt : formatter -> transfer -> unit + + (** Formats the operation the transfer is for. *) + val fmt_op : formatter -> transfer -> unit + + (** Formats the live contract in the environment. *) + val fmt_contracts : formatter -> transfer -> unit end end diff --git a/src/main.ml b/src/main.ml index 893aef2..ae8e8cc 100644 --- a/src/main.ml +++ b/src/main.ml @@ -1,10 +1,8 @@ open Base -open Base.Common (* Set configuration from CLAP and print it. *) let _ = - Clap.set_conf (); - conf () |> log_4 "@[Configuration:@,%a@]@.@." Conf.fmt + Clap.set_conf () (* Actually do stuff. *) let _ = diff --git a/src/run.ml b/src/run.ml index 13062e8..6ecbf73 100644 --- a/src/run.ml +++ b/src/run.ml @@ -84,45 +84,55 @@ let run_tests (conf : Conf.t) (cxt : Test.Testcases.t) : unit = let cxt = Cxt.init (Tests.get_contracts cxt) test in let rec test_loop (cxt : Cxt.run_test) : unit = - log_1 "Running test script...@."; - log_3 "%a@." Cxt.Test.fmt cxt; + log_1 "@.running test script...@."; + log_2 "context: %a@." Cxt.Test.fmt cxt; cond_step conf; let events, next_state = Cxt.Test.run cxt in let is_done = handle_events conf (Cxt.Test.stack cxt) events in match next_state with | Some _ when is_done -> Exc.throws [ "inconsistent internal state" ; - "test code is done but there are still operations to process" ; + "testcase is done but there are still operations to process" ; ] | Some ops -> ops_loop ops | None when is_done -> log_1 "Done running test `%s`@." test.name | None -> test_loop cxt and ops_loop (cxt : Cxt.apply_ops) : unit = - log_1 "@.Applying Operations...@."; - log_3 "%a@." Cxt.Ops.fmt cxt; - ( - match Cxt.Ops.next_op cxt with - | Some op -> log_2 "> %a@." Cxt.Env.Op.fmt op - | None -> log_2 "> @." - ); - cond_step conf; + log_1 "@."; let rec loop () = - match Cxt.Ops.apply cxt with - | Some (Either.Lft test) -> test_loop test - | Some (Either.Rgt transfer) -> transfer_loop transfer - | None -> loop () + (* log_0 "%a@." Cxt.Ops.fmt cxt; *) + ( + match Cxt.Ops.next_op cxt with + | Some op -> ( + log_1 "applying operation %a@." Cxt.Env.Op.fmt op; + log_1 " %a@." Cxt.Ops.fmt_contracts cxt; + ) + | None -> log_2 "no operations left@." + ); + cond_step conf; + let res = Cxt.Ops.apply cxt in + match res with + | Some (Either.Lft test) -> + log_1 "=> %a@." Cxt.Ops.fmt_contracts cxt; + test_loop test + | Some (Either.Rgt transfer) -> + transfer_loop transfer + | None -> + log_1 "=> %a@." Cxt.Ops.fmt_contracts cxt; + loop () in loop () and transfer_loop (cxt : Cxt.transfer) : unit = + log_1 "@.running %a@." Cxt.Transfer.fmt_op cxt; if conf.step then ( let rec loop () : unit = - log_0 "@.Contract Transfer Step...@."; - log_3 "%a@." Cxt.Transfer.fmt cxt; - Cxt.Transfer.interpreter cxt + log_2 "@.Contract Transfer Step..."; + log_3 "context: %a@." Cxt.Transfer.fmt cxt; + (* Cxt.Transfer.interpreter cxt |> Cxt.Run.stack - |> log_3 "@.@[%a@]@.@." Cxt.Run.Stack.fmt; + |> log_3 "@.@[%a@]@.@." Cxt.Run.Stack.fmt; *) Cxt.Transfer.interpreter cxt |> Cxt.Run.next_ins |> ( @@ -150,15 +160,19 @@ let run_tests (conf : Conf.t) (cxt : Test.Testcases.t) : unit = (not even empty)" ; ] ) - | Some (Either.Rgt ops) -> ops_loop ops + | Some (Either.Rgt ops) -> + log_1 "=> %a@." Cxt.Transfer.fmt_contracts cxt; + ops_loop ops in loop () ) else ( - log_1 "@.Contract Transfer...@."; - log_3 "%a@." Cxt.Transfer.fmt cxt; + (* log_1 "@.Contract Transfer...@."; *) + (* log_3 "%a@." Cxt.Transfer.fmt cxt; *) let rec loop () = match Cxt.Transfer.run cxt with - | Either.Rgt ops -> ops_loop ops + | Either.Rgt ops -> + log_1 "=> %a@." Cxt.Transfer.fmt_contracts cxt; + ops_loop ops | Either.Lft event -> let is_done = handle_event conf (Cxt.Transfer.stack cxt) event in if is_done then ( @@ -179,13 +193,14 @@ let run_tests (conf : Conf.t) (cxt : Test.Testcases.t) : unit = err_count ) with | e -> - log_0 "Test `%s` failed:@. @[%a@]@." test.name Exc.fmt e; + log_0 "@.Test `%s` failed:@. @[%a@]@." test.name Exc.fmt e; err_count + 1 ) 0 |> ( function | 0 -> () | n -> + log_0 "@."; let test_count = Tests.get_tests cxt |> List.length in sprintf "%i of the %i testcase%s failed" n test_count (Fmt.plurify test_count) |> Exc.throw From 375c0cb5011f1072b3eeb7a116d2473c14e98e50 Mon Sep 17 00:00:00 2001 From: AdrienChampion Date: Fri, 1 Mar 2019 12:48:58 +0100 Subject: [PATCH 13/13] user doc update for new output --- docs/user_doc/index.html | 8 +- docs/user_doc/michelson/index.html | 8 +- docs/user_doc/michelson/simple_example.html | 8 +- docs/user_doc/print.html | 461 +++++++++++++----- docs/user_doc/quick_ref/extensions.html | 8 +- docs/user_doc/quick_ref/index.html | 8 +- docs/user_doc/quick_ref/usage.html | 61 ++- docs/user_doc/searchindex.js | 2 +- docs/user_doc/searchindex.json | 2 +- docs/user_doc/testgen/example.html | 29 +- docs/user_doc/testgen/index.html | 8 +- docs/user_doc/testing/anonymous.html | 35 +- docs/user_doc/testing/basic.html | 38 +- docs/user_doc/testing/contracts.html | 48 +- docs/user_doc/testing/failures.html | 173 +++++-- docs/user_doc/testing/index.html | 8 +- docs/user_doc/testing/inspection.html | 30 +- docs/user_doc/testing/set_source.html | 64 ++- docs/user_doc/testing/transfers.html | 47 +- rsc/tests/trivial/error/too_poor.techel | 91 ++++ user_doc/book.toml | 1 - .../rsc/admins/error/addAdmin.techel.output | 66 ++- user_doc/rsc/admins/okay/create.techel.output | 53 +- .../rsc/admins/okay/mustFail.techel.output | 50 +- .../admins/okay/preciseMustFail.techel.output | 51 +- .../rsc/admins/okay/setSource.techel.output | 56 ++- .../no_contract/okay/anonymous.techel.output | 27 +- .../rsc/no_contract/okay/test1.techel.output | 3 +- .../rsc/no_contract/okay/test2.techel.output | 6 +- .../rsc/no_contract/okay/test3.techel.output | 21 +- .../simpleExample/okay/create1.techel.output | 15 +- .../simpleExample/okay/create2.techel.output | 25 +- .../okay/inspection.techel.output | 22 +- .../simpleExample/okay/testgen.techel.output | 53 +- .../okay/testgen_nodump.techel.output | 21 +- .../simpleExample/okay/transfer.techel.output | 39 +- user_doc/src/testing/failures.md | 8 +- user_doc/test.sh | 12 + 38 files changed, 1199 insertions(+), 467 deletions(-) create mode 100644 rsc/tests/trivial/error/too_poor.techel diff --git a/docs/user_doc/index.html b/docs/user_doc/index.html index 41c8e68..192896b 100644 --- a/docs/user_doc/index.html +++ b/docs/user_doc/index.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ diff --git a/docs/user_doc/michelson/index.html b/docs/user_doc/michelson/index.html index 3b70f8f..1143436 100644 --- a/docs/user_doc/michelson/index.html +++ b/docs/user_doc/michelson/index.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ diff --git a/docs/user_doc/michelson/simple_example.html b/docs/user_doc/michelson/simple_example.html index ef27926..cee483a 100644 --- a/docs/user_doc/michelson/simple_example.html +++ b/docs/user_doc/michelson/simple_example.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ diff --git a/docs/user_doc/print.html b/docs/user_doc/print.html index 815b3ea..30f93a3 100644 --- a/docs/user_doc/print.html +++ b/docs/user_doc/print.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -289,7 +289,8 @@

Techelson User Documentation

This testcase does not use any contract. To run it, simply run

$ techelson rsc/no_contract/okay/test1.techel
 Running test `Test1`
-Running test script...
+
+running test script...
 Done running test `Test1`
 
 
@@ -305,13 +306,15 @@

Techelson User Documentation

the output becomes

$ techelson rsc/no_contract/okay/test2.techel
 Running test `Test2`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 | "starting the test"                                                                              |
 | string                                                                                           |
 |==================================================================================================|
-Running test script...
+
+running test script...
 Done running test `Test2`
 
 
@@ -336,16 +339,19 @@

Techelson User Documentation

Techelson will stop on all STEP instructions and ask you to press enter to keep going:

$ techelson rsc/no_contract/okay/test3.techel
 Running test `Test3`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 | "starting the test"                                                                              |
 | string                                                                                           |
 |==================================================================================================|
-Running test script...
+
+running test script...
 stopping [just started the test] press `return` to continue
 
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 | "starting the test"                                                                              |
@@ -355,19 +361,23 @@ 

Techelson User Documentation

| "a string with a variable name" | | string | |==================================================================================================| -Running test script... + +running test script... stopping [no information] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | "starting the test" | | string | |==================================================================================================| -Running test script... + +running test script... stopping [The string should be gone. Also, we're done.] press `return` to continue -Running test script... + +running test script... Done running test `Test3`
@@ -448,7 +458,8 @@

Techelson User Documentation

This produces the following output

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create1.techel
 Running test `Create1`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                         @storage |
@@ -475,10 +486,12 @@ 

Techelson User Documentation

| "sha512:manager address" | | key_hash | |==================================================================================================| -Running test script... + +running test script... stopping [before creation] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | address[1] | @@ -487,10 +500,12 @@

Techelson User Documentation

| CREATE[uid:0] (@address[1], "sha512:manager address", None, true, true, 3utz) "SimpleExample" | | operation | |==================================================================================================| -Running test script... + +running test script... stopping [after creation] press `return` to continue -Running test script... + +running test script... Done running test `Create1`
@@ -540,7 +555,8 @@

Techelson User Documentation

Running it yields

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create2.techel
 Running test `Create2`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                            @main |
@@ -550,23 +566,30 @@ 

Techelson User Documentation

| [ CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample" ] | | (list operation) | |==================================================================================================| -Running test script... + +running test script... stopping [operation is now in a list] press `return` to continue -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample" + live contracts: none +=> live contracts: SimpleExample (3utz) address[1]@main + +running test script... stack: |==================================================================================================| | @main | | address[1]@main | | address | |==================================================================================================| -Running test script... + +running test script... stopping [testing that contract exists] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | address[1]@main | @@ -575,7 +598,8 @@

Techelson User Documentation

| "success" | | string | |==================================================================================================| -Running test script... + +running test script... Done running test `Create2`
@@ -651,10 +675,14 @@

Techelson User Documentation

The testcase does not fail and produces the output

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/inspection.techel
 Running test `Inspection`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (3utz) address[1]@main
+
+running test script...
 stack:
 |==================================================================================================|
 | address[1]@main                                                                                  |
@@ -663,19 +691,23 @@ 

Techelson User Documentation

| 3utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 0 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Inspection`
@@ -756,10 +788,19 @@

Techelson User Documentation

verbosity) as for inspection.techel:

$ techelson rsc/no_contract/okay/anonymous.techel
 Running test `Anonymous`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) 
+                       {
+                           storage nat ;
+                           parameter bool ;
+                           code ...;
+                       }
+   live contracts: none
+=> live contracts: <anonymous> (3utz) address[1]@main
+
+running test script...
 stack:
 |==================================================================================================|
 | address[1]@main                                                                                  |
@@ -768,19 +809,23 @@ 

Techelson User Documentation

| 3utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 0 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Anonymous`
@@ -855,21 +900,30 @@

Techelson User Documentation

The test passes and its output is

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/transfer.techel
 Running test `Transfer`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (3utz) address[1]@main
 
-Applying Operations...
+running test script...
 
-Contract Transfer...
+applying operation TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False
+   live contracts: SimpleExample (3utz) address[1]@main
 
-Applying Operations...
+running TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False
+=> live contracts: SimpleExample (10utz) address[1]@main
 
-Contract Transfer...
+applying operation TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True
+   live contracts: SimpleExample (10utz) address[1]@main
 
-Applying Operations...
-Running test script...
+running TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True
+=> live contracts: SimpleExample (23utz) address[1]@main
+
+=> live contracts: SimpleExample (23utz) address[1]@main
+
+running test script...
 stack:
 |==================================================================================================|
 | address[1]@main                                                                                  |
@@ -878,19 +932,23 @@ 

Techelson User Documentation

| 23utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 1 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Transfer`
@@ -1025,29 +1083,20 @@

Techelson User Documentation

Running this test produces the following output

$ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/create.techel
 Running test `Create`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 | [ CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) 
       {
           storage unit ;
           parameter unit ;
-          code {
-                 DROP ;
-                 UNIT ;
-                 NIL operation ;
-                 PAIR
-               } ;
+          code ...;
       }, CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) 
              {
                  storage unit ;
                  parameter unit ;
-                 code {
-                        DROP ;
-                        UNIT ;
-                        NIL operation ;
-                        PAIR
-                      } ;
+                 code ...;
              } ] |
 | (list operation)                                                                                 |
 |--------------------------------------------------------------------------------------------------|
@@ -1075,10 +1124,34 @@ 

Techelson User Documentation

| "root" | | string | |==================================================================================================| -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins" + live contracts: none +=> live contracts: Admins (0utz) address[3]@admins +applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: Admins (0utz) address[3]@admins +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root + +running test script... stack: |==================================================================================================| | @root | @@ -1093,10 +1166,12 @@

Techelson User Documentation

| address[3]@admins | | address | |==================================================================================================| -Running test script... + +running test script... stopping [after applying creation operations.] press `return` to continue -Running test script... + +running test script... Done running test `Create`
@@ -1149,20 +1224,17 @@

Techelson User Documentation

testcase. In techelson, the testcase currently running has its own address. It is in particular not the address of root. Hence, the transfer fails as it should and so does the whole testcase. The (relevant part of the) output is

-

-Applying Operations...
-Test `AddAdmin` failed:
+
Test `AddAdmin` failed:
     Error
         operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) was expected to succeed
         but failed on operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))
         operation failed on "illegal access to admin account" : string
-Error
 

You can see in the transfer the sender and the target of the transfer:

-
TRANSFER[uid:3] address[0]@Create2 -> address[3]@admins
+
TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins
 
-

Create2 is the name of our testcase, and address[0]@Create2 is its address. Name "root" does -not map to this address in the contract and the transfer fails.

+

AddAdmin is the name of our testcase, and address[0]@AddAdmin is its address. Name "root" +does not map to this address in the contract and the transfer fails.

Handling Failures

Before getting into making this transfer work (next section), note that this (failing) testcase is actually useful. Or at least it should be: the transfer we are trying to make is illegal indeed. We @@ -1189,10 +1261,34 @@

Techelson User Documentation

The test now passes successfully:

$ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/mustFail.techel
 Running test `MustFail`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins"
+   live contracts: none
+=> live contracts: Admins (0utz) address[3]@admins
+applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+                   <anonymous> (0utz) address[1]@root
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                            @root |
@@ -1210,14 +1306,24 @@ 

Techelson User Documentation

| MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) + live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Contract Transfer... +running TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Applying Operations... -Running test script... +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root + +running test script... Done running test `MustFail`
@@ -1240,10 +1346,34 @@

Techelson User Documentation

Everything works fine here, and the output is

$ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/preciseMustFail.techel
 Running test `PreciseMustFail`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins"
+   live contracts: none
+=> live contracts: Admins (0utz) address[3]@admins
+applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+                   <anonymous> (0utz) address[1]@root
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                            @root |
@@ -1261,14 +1391,25 @@ 

Techelson User Documentation

| MUST_FAIL[uid:4] "illegal access to admin account" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation MUST_FAIL[uid:4] "illegal access to admin account" : +string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) + live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Contract Transfer... +running TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Applying Operations... -Running test script... +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root + +running test script... Done running test `PreciseMustFail`
@@ -1346,10 +1487,34 @@

Techelson User Documentation

The testcase now succeeds, and its output is

$ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/setSource.techel
 Running test `SetSource`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins"
+   live contracts: none
+=> live contracts: Admins (0utz) address[3]@admins
+applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+                   <anonymous> (0utz) address[1]@root
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                            @root |
@@ -1377,10 +1542,12 @@ 

Techelson User Documentation

| address[1]@root | | address | |==================================================================================================| -Running test script... + +running test script... stopping [no information] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | @root | @@ -1397,14 +1564,24 @@

Techelson User Documentation

| TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) + live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Contract Transfer... +running TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Applying Operations... -Running test script... +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root + +running test script... Done running test `SetSource`
@@ -1444,17 +1621,24 @@

Techelson User Documentation

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1
 done generating test for contract SimpleExample
 Running test `SimpleExampleTest1`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:0] (@address[1], "blake2b:11a6ffbc9fb85", None, false, false, 638557938255190utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (638557938255190utz) address[1]
+
+running test script...
+
+applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True
+   live contracts: SimpleExample (638557938255190utz) address[1]
 
-Applying Operations...
+running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True
+=> live contracts: SimpleExample (759142736525198utz) address[1]
 
-Contract Transfer...
+=> live contracts: SimpleExample (759142736525198utz) address[1]
 
-Applying Operations...
-Running test script...
+running test script...
 Done running test `SimpleExampleTest1`
 
 
@@ -1689,37 +1873,54 @@

Techelson User Documentation

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 2
 done generating tests for contract SimpleExample
 Running test `SimpleExampleTest1`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
 
-Applying Operations...
+applying operation CREATE[uid:0] (@address[1], "blake2b:11a6ffbc9fb85", None, false, false, 638557938255190utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (638557938255190utz) address[1]
 
-Contract Transfer...
+running test script...
 
-Applying Operations...
-Running test script...
+applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True
+   live contracts: SimpleExample (638557938255190utz) address[1]
+
+running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True
+=> live contracts: SimpleExample (759142736525198utz) address[1]
+
+=> live contracts: SimpleExample (759142736525198utz) address[1]
+
+running test script...
 Done running test `SimpleExampleTest1`
 Running test `SimpleExampleTest2`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:0] (@address[3], "blake2b:", (Some "blake2b:"), true, true, 290035844265409utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (290035844265409utz) address[3]
+
+running test script...
+
+applying operation TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True
+   live contracts: SimpleExample (290035844265409utz) address[3]
+
+running TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True
+=> live contracts: SimpleExample (810126422944596utz) address[3]
 
-Applying Operations...
+=> live contracts: SimpleExample (810126422944596utz) address[3]
 
-Contract Transfer...
+running test script...
 
-Applying Operations...
-Running test script...
+applying operation TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False
+   live contracts: SimpleExample (810126422944596utz) address[3]
 
-Applying Operations...
+running TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False
+=> live contracts: SimpleExample (1655160698449470utz) address[3]
 
-Contract Transfer...
+=> live contracts: SimpleExample (1655160698449470utz) address[3]
 
-Applying Operations...
-Running test script...
+running test script...
 Done running test `SimpleExampleTest2`
 
 
diff --git a/docs/user_doc/quick_ref/extensions.html b/docs/user_doc/quick_ref/extensions.html index 3dbb0ca..c8bc593 100644 --- a/docs/user_doc/quick_ref/extensions.html +++ b/docs/user_doc/quick_ref/extensions.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ diff --git a/docs/user_doc/quick_ref/index.html b/docs/user_doc/quick_ref/index.html index 7e3c182..b804350 100644 --- a/docs/user_doc/quick_ref/index.html +++ b/docs/user_doc/quick_ref/index.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ diff --git a/docs/user_doc/quick_ref/usage.html b/docs/user_doc/quick_ref/usage.html index 8298495..d136548 100644 --- a/docs/user_doc/quick_ref/usage.html +++ b/docs/user_doc/quick_ref/usage.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -183,37 +183,54 @@

Techelson User Documentation

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 2
 done generating tests for contract SimpleExample
 Running test `SimpleExampleTest1`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
 
-Applying Operations...
+applying operation CREATE[uid:0] (@address[1], "blake2b:11a6ffbc9fb85", None, false, false, 638557938255190utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (638557938255190utz) address[1]
 
-Contract Transfer...
+running test script...
 
-Applying Operations...
-Running test script...
+applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True
+   live contracts: SimpleExample (638557938255190utz) address[1]
+
+running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True
+=> live contracts: SimpleExample (759142736525198utz) address[1]
+
+=> live contracts: SimpleExample (759142736525198utz) address[1]
+
+running test script...
 Done running test `SimpleExampleTest1`
 Running test `SimpleExampleTest2`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:0] (@address[3], "blake2b:", (Some "blake2b:"), true, true, 290035844265409utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (290035844265409utz) address[3]
+
+running test script...
+
+applying operation TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True
+   live contracts: SimpleExample (290035844265409utz) address[3]
+
+running TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True
+=> live contracts: SimpleExample (810126422944596utz) address[3]
 
-Applying Operations...
+=> live contracts: SimpleExample (810126422944596utz) address[3]
 
-Contract Transfer...
+running test script...
 
-Applying Operations...
-Running test script...
+applying operation TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False
+   live contracts: SimpleExample (810126422944596utz) address[3]
 
-Applying Operations...
+running TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False
+=> live contracts: SimpleExample (1655160698449470utz) address[3]
 
-Contract Transfer...
+=> live contracts: SimpleExample (1655160698449470utz) address[3]
 
-Applying Operations...
-Running test script...
+running test script...
 Done running test `SimpleExampleTest2`
 
 
diff --git a/docs/user_doc/searchindex.js b/docs/user_doc/searchindex.js index 96023be..8f34d3e 100644 --- a/docs/user_doc/searchindex.js +++ b/docs/user_doc/searchindex.js @@ -1 +1 @@ -window.search = {"doc_urls":["index.html#techelson","michelson/index.html#michelson","michelson/simple_example.html#a-simple-example","testing/index.html#running-tests","testing/basic.html#first-steps","testing/basic.html#introspection","testing/basic.html#steps","testing/contracts.html#creating-and-calling-contracts","testing/contracts.html#named-contract-creation","testing/contracts.html#applying-operations","testing/inspection.html#live-contract-inspection","testing/anonymous.html#anonymous-contracts","testing/transfers.html#transfers","testing/failures.html#testing-for-failures","testing/failures.html#creation","testing/failures.html#transfer-failures","testing/failures.html#handling-failures","testing/failures.html#more-precise-failure-testing","testing/set_source.html#usurpation-of-identity","testgen/index.html#test-generation","testgen/example.html#example","quick_ref/index.html#quick-reference","quick_ref/extensions.html#extensions","quick_ref/extensions.html#unrestricted-extensions","quick_ref/extensions.html#testcase-only-extensions","quick_ref/usage.html#command-line-options","quick_ref/usage.html#modes","quick_ref/usage.html#test-generation"],"index":{"documentStore":{"docInfo":{"0":{"body":182,"breadcrumbs":1,"title":1},"1":{"body":131,"breadcrumbs":1,"title":1},"10":{"body":222,"breadcrumbs":5,"title":3},"11":{"body":225,"breadcrumbs":4,"title":2},"12":{"body":230,"breadcrumbs":3,"title":1},"13":{"body":235,"breadcrumbs":4,"title":2},"14":{"body":280,"breadcrumbs":3,"title":1},"15":{"body":190,"breadcrumbs":4,"title":2},"16":{"body":150,"breadcrumbs":4,"title":2},"17":{"body":201,"breadcrumbs":6,"title":4},"18":{"body":282,"breadcrumbs":4,"title":2},"19":{"body":63,"breadcrumbs":2,"title":2},"2":{"body":96,"breadcrumbs":3,"title":2},"20":{"body":222,"breadcrumbs":3,"title":1},"21":{"body":32,"breadcrumbs":2,"title":2},"22":{"body":44,"breadcrumbs":3,"title":1},"23":{"body":31,"breadcrumbs":4,"title":2},"24":{"body":241,"breadcrumbs":4,"title":2},"25":{"body":93,"breadcrumbs":5,"title":3},"26":{"body":90,"breadcrumbs":3,"title":1},"27":{"body":48,"breadcrumbs":4,"title":2},"3":{"body":151,"breadcrumbs":2,"title":2},"4":{"body":28,"breadcrumbs":4,"title":2},"5":{"body":44,"breadcrumbs":3,"title":1},"6":{"body":196,"breadcrumbs":3,"title":1},"7":{"body":54,"breadcrumbs":5,"title":3},"8":{"body":208,"breadcrumbs":5,"title":3},"9":{"body":216,"breadcrumbs":4,"title":2}},"docs":{"0":{"body":"Techelson is a T est E xecution E nvironment (TEE) for Michelson smart contracts . Michelson is the stack-based language used by the tezos blockchain . Techelson is open source and hosted on github , where you can find the build instructions. Techelson emulates just enough of the tezos blockchain protocol to be able to create smart contracts and make transfers between contracts. Currently, techelson only aims at testing functional properties of smart contracts. In particular, it does not provide any information about the gas or burn of transfers/contracts. This is because computing the burn , and especially the gas of a transfer is rather complex and would require techelson to drop some of the abstractions it makes over the tezos protocol to run tests faster. Techelson can be used either as a command-line tool or as an OCaml library. This book focuses on the former use case. Also, this book assumes the reader is fairly familiar with the michelson language. We will discuss what a contract is and how it behaves, but the reader should know what michelson types and instructions look like, and their semantics. Michelson is a fairly low-level language which makes it difficult to discuss complex contracts. This book will sometimes give contracts as Liquidity contracts. Liquidity is a higher-level, OCaml-like language for tezos smart contracts which compiles to Michelson. NB : if you are a Liquidity user, you should probably take a look at this blog post on how to write tests directly in Liquidity, and run these tests using Techelson. The chapters of this book are Michelson , provides a very brief introduction to michelson smart contracts. Running Tests , describes techelson's workflow for running tests through examples. Test Generation , discusses techelson's test generation features. Quick Reference , quick reminders of techelson's features, such as extensions. All examples in this book are available in the rsc directory of the github repository .","breadcrumbs":"Techelson","id":"0","title":"Techelson"},"1":{"body":"Michelson is the stack-based, strongly typed, low-level language supported by the tezos blockchain for smart contracts. We only provide a brief description of michelson here, and refer the reader to the official documentation for more details. A michelson contract is similar to transition system. The storage of a contract is its current state; the entry point ( code ) of a contract is a function which takes some tezos tokens (of type mutez ), the current storage of the contract, and a parameter of a certain type provided by the client of the contract. It returns a list of operations (contract/account creation, transfers, etc. ), and the new storage of the contract. In practice, a contract looks as follows: storage ;\nparameter ;\ncode ; Note that tokens are passed implicitely: they are credited to the contract before it starts running (although the amount of the transfer can be accessed with the AMOUNT instruction). Hence the code of the contract takes two parameters, which are aggregated in a pair (parameter, storage) . The same goes with the operations and the new storage returned by the contract, which are returned as a pair (operations, new_storage) . In the stack-based context of michelson, \"takes as argument\" means \"starts with a stack containing \". Likewise, \"returns \" here means \"leaves on the stack at the end (and nothing else than )\".","breadcrumbs":"Michelson","id":"1","title":"Michelson"},"10":{"body":"Michelson smart contracts cannot access each other's storage. They can only interact through transfers, during which the client of the contract provides a parameter that the contract runs its code on. As a test framework, techelson provides inspection instructions which give access to the balance and the storage of a live (deployed) contract. Both consume a contract from the top of the stack. instruction parameter stack GET_STORAGE 'storage :: contract _ : 'S or :: address : 'S -> (option 'storage) : 'S GET_BALANCE none :: contract _ : 'S or :: address : 'S -> mutez : 'S Let's extend the previous example to inspection.techel which checks that the balance and storage of the contract deployed are correct. { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } {} ; DUP ; GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 3 ; IFCMPNEQ { PUSH string \"balance should be 3utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 0 ; IFCMPNEQ { PUSH string \"storage should be 0 (nat)\" ; FAILWITH } {} ; }\n} The testcase does not fail and produces the output $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/inspection.techel\nRunning test `Inspection`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 3utz |\n| mutez |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the balance of the contract] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| 0 |\n| nat |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the storage of the contract] press `return` to continue Running test script...\nDone running test `Inspection`","breadcrumbs":"Running Tests » Live Contract Inspection","id":"10","title":"Live Contract Inspection"},"11":{"body":"Techelson accepts contracts through its --contract option. These contracts are named as discussed in Creating and Calling Contracts . Contracts defined at michelson level in testcases and contracts however are considered anonymous . Anonymous contracts can also be deployed and inspected. In fact, they are not really different from named contracts apart from their lack of name, which (currently) prevent techelson from mentioning where they really come from in its debug output. The following anonymous.techel testcase is similar to the one from the Live Contract Inspection except that the contract deployed is not given to the environment, it is inlined in the testcase. { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op { storage nat; parameter bool; code { UNPAIR ; IF { } { PUSH nat 1; ADD } ; NIL operation ; PAIR }; } ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } {} ; DUP ; GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 3 ; IFCMPNEQ { PUSH string \"balance should be 3utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 0 ; IFCMPNEQ { PUSH string \"storage should be 0 (nat)\" ; FAILWITH } {} ; }\n} This produces the exact same output (modulo the testcase's name, and as long as we do not increase verbosity) as for inspection.techel : $ techelson rsc/no_contract/okay/anonymous.techel\nRunning test `Anonymous`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 3utz |\n| mutez |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the balance of the contract] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| 0 |\n| nat |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the storage of the contract] press `return` to continue Running test script...\nDone running test `Anonymous`","breadcrumbs":"Running Tests » Anonymous Contracts","id":"11","title":"Anonymous Contracts"},"12":{"body":"At this point creating and applying a transfer should be relatively straightforward. Simply create the operation using michelson's TRANSFER_TOKENS , and apply it with APPLY_OPERATIONS . For instance, transfer.techel builds on inspection.techel . It creates an instance of simpleExample.tz , and creates and applies two operations: the first transfers 7 tokens with a parameter equal to False , and the second transfers 13 tokens with True . (Remember that simpleExample.tz will count transfers for which the parameter is False .) { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; ... # Omitting code creating the contract. { # Making a non-ghost transfer. DUP ; PUSH @amount mutez 7 ; PUSH @ghost bool False ; TRANSFER_TOKENS ; } ; DIP { # Making a ghost transfer. DUP ; PUSH @amount mutez 13 ; PUSH @ghost bool True ; TRANSFER_TOKENS ; } ; { # Creating the list of all operations. DIP { DIP {NIL operation } ; CONS } ; CONS ; } ; APPLY_OPERATIONS ; Finally, it checks that the balance and storage are the ones expected: GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 23 ; IFCMPNEQ { PUSH string \"balance should be 23utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 1 ; IFCMPNEQ { PUSH string \"storage should be 1 (nat)\" ; FAILWITH } {} ; }\n} The test passes and its output is $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/transfer.techel\nRunning test `Transfer`\nRunning test script... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 23utz |\n| mutez |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the balance of the contract] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| 1 |\n| nat |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the storage of the contract] press `return` to continue Running test script...\nDone running test `Transfer`","breadcrumbs":"Running Tests » Transfers","id":"12","title":"Transfers"},"13":{"body":"This section is going to use a slightly more complex contract in order to showcase failures and how to test them. Even if you are not familiar with liquidity , the contract's code will most likely be more readable in liquidity than in michelson. Here is the liquidity version, admins.liq : [%%version 0.405] type storage = { admins : (string, address) map ; (* Unused in this example. *) nus : (string, (address * tez * UnitContract.instance)) map ;\n} let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address) (storage : storage) : operation list * storage = admin_check storage admin_name (Current.sender ()); let storage = storage.admins <- Map.update nu_name (Some nu_address) storage.admins in [], storage Note that the clients field of the storage is unused in this example. The admins map maps administrator names to addresses. The only entry point (in this example) is add_admin which allows administrators to add new administrators by registering their name and their address. More precisely, calling this contract is only legal if the SENDER ( Current.sender () ) of the call is an administrator ( c.f. admin_check ). If the call to the contract is not legal, the transfer fails: let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" The parameters of the entry point are admin_name : name associated with the SENDER administrator, nu_name : name of the new administrator to add, nu_address : the address of the new administrator. let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address) Using liquidity to compile the contract to michelson (for instance using liquidity's online editor ), we obtain admins.tz . Here are the storage and parameter types: parameter (pair string (pair string address));\nstorage (pair :storage (map %admins string address) (map %clients string (pair address (pair mutez (contract :UnitContract unit))))); We omit the contract's code ( admins.tz ) as i) it is not very readable and ii) we do not need to know what the code precisely is to create the contract and call it, as long as we know the storage and parameter types.","breadcrumbs":"Running Tests » Testing for Failures","id":"13","title":"Testing for Failures"},"14":{"body":"Creating a contract has been covered in previous sections, so let's give ourselves some code to create the contract with one administrator called root . In fact, let's make an account for root and register it as an administrator. The new administrator new_admin is also deployed as an account. Testcase create.techel does exactly that: { NIL operation ; { # Create an account for `root`. PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@root_manager\" ; SHA512 ; CREATE_ACCOUNT @root ; } ; SWAP ; DIP { CONS } ; { # Create an account for `new_admin`. PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@new_admin_manager\" ; SHA512 ; CREATE_ACCOUNT @new_admin ; } ; SWAP ; DIP { SWAP ; DIP CONS } ; { # Create an `admins` contract. # Create the storage's (empty) `clients` field. EMPTY_MAP @clients string (pair address (pair mutez (contract unit))) ; # Create the storage's `admins` field and register `root`. EMPTY_MAP @admins string address ; DUUUUP ; # Retrieve root's address. SOME @address ; PUSH @name string \"root\" ; PRINT_STACK ; UPDATE ; PAIR @storage ; PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @spendable bool False ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@contract_manager\" ; SHA512 ; CREATE_CONTRACT @admins \"Admins\" } ; SWAP ; DIP { SWAP ; DIP { SWAP ; DIP CONS } } ; DIIIP { APPLY_OPERATIONS } ; PRINT_STACK ; STEP \"after applying creation operations.\"\n} Running this test produces the following output $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/create.techel\nRunning test `Create`\nRunning test script...\nstack:\n|==================================================================================================|\n| [ CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code { DROP ; UNIT ; NIL operation ; PAIR } ; }, CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code { DROP ; UNIT ; NIL operation ; PAIR } ; } ] |\n| (list operation) |\n|--------------------------------------------------------------------------------------------------|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @clients |\n| Map { } |\n| (map string (pair address (pair mutez (contract unit)))) |\n|--------------------------------------------------------------------------------------------------|\n| @admins |\n| Map { } |\n| (map string address) |\n|--------------------------------------------------------------------------------------------------|\n| @address |\n| (Some address[1]@root) |\n| (option address) |\n|--------------------------------------------------------------------------------------------------|\n| @name |\n| \"root\" |\n| string |\n|==================================================================================================|\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @admins |\n| address[3]@admins |\n| address |\n|==================================================================================================|\nRunning test script...\nstopping [after applying creation operations.] press `return` to continue Running test script...\nDone running test `Create`","breadcrumbs":"Running Tests » Creation","id":"14","title":"Creation"},"15":{"body":"Let's now add new_admin as a new administrator. Testcase addAdmin.techel only adds the following few instructions at the end of create.techel : # Retrieve the actual contract. CONTRACT (pair string (pair string address)) ; IF_NONE { PUSH string \"failed to retrieve `admins` contract\" ; STEP } {} ; # Saving the contract for later. DUP ; PUSH @amount mutez 0 ; # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; TRANSFER_TOKENS ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; What should the result of applying this transfer be? Remember than before adding an administrator, the contract checks that the sender is an admin. let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address)\n...\n= admin_check storage admin_name (Current.sender ()); ... So, if everything goes well, the transfer should fail: the sender here is not root , but the testcase. In techelson, the testcase currently running has its own address. It is in particular not the address of root . Hence, the transfer fails as it should and so does the whole testcase. The (relevant part of the) output is Applying Operations...\nTest `AddAdmin` failed: Error operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) was expected to succeed but failed on operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) operation failed on \"illegal access to admin account\" : string\nError You can see in the transfer the sender and the target of the transfer: TRANSFER[uid:3] address[0]@Create2 -> address[3]@admins Create2 is the name of our testcase, and address[0]@Create2 is its address. Name \"root\" does not map to this address in the contract and the transfer fails.","breadcrumbs":"Running Tests » Transfer Failures","id":"15","title":"Transfer Failures"},"16":{"body":"Before getting into making this transfer work (next section), note that this (failing) testcase is actually useful. Or at least it should be: the transfer we are trying to make is illegal indeed. We do want the transfer to fail, but the testcase should succeed if the transfer does fail, fail if the transfer succeeds: anyone can add admins, which is bad . This is what the MUST_FAIL techelson extension does. It takes an operation wraps it in a construct telling techelson that this operation must fail: either the operation itself or, if it is a transfer, the operations created by this transfer. Here is its signature: instruction parameter stack MUST_FAIL :: option : operation : 'S -> operation : 'S Let's ignore the parameter and the first stack argument for now and just use this instruction right away. Testcase mustFail.techel is the same as addAdmin.techel except for a few lines after the transfer: TRANSFER_TOKENS ; PUSH (option string) None ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; The test now passes successfully: $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/mustFail.techel\nRunning test `MustFail`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @this_must_fail |\n| MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) |\n| operation |\n|==================================================================================================|\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `MustFail`","breadcrumbs":"Running Tests » Handling Failures","id":"16","title":"Handling Failures"},"17":{"body":"Now, MUST_FAIL (as it is used here) succeeds if the transfer ends in a tezos protocol failure. This include explicit failures in the code, illegal transfers due to insufficient funds, duplicate operations, etc. It does not include type-checking errors and internal techelson errors. This means in particular that if the transfer above fails for a reason different from \"illegal access to admin account\" then MUST_FAIL will consider the test a success. To make sure the cause for failure is actually the one we want, we must use MUST_FAIL 's optional stack parameter. A failure in michelson code always has a value of some type associated to it. In this case, the type of this value is string and its value is \"illegal access to admin account\" . Testcase preciseMustFail.techel only changes mustFail.techel to pass the failure value expected to MUST_FAIL : TRANSFER_TOKENS ; PUSH (option string) (Some \"illegal access to admin account\") ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; As a consequence, if the transfer fails with anything else than an explicit failure with a value of type string equal to \"illegal access to admin account\" , then the whole testcase will fail. Everything works fine here, and the output is $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/preciseMustFail.techel\nRunning test `PreciseMustFail`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @this_must_fail |\n| MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) |\n| operation |\n|==================================================================================================|\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `PreciseMustFail` Notice that the MUST_FAIL operation now mentions the value expected: MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] ...) as opposed to the _ wildcard from testcase mustFail.techel , which means no value was given: MUST_FAIL[uid:4] _ (TRANSFER[uid:3] ...)","breadcrumbs":"Running Tests » (More) Precise Failure Testing","id":"17","title":"(More) Precise Failure Testing"},"18":{"body":"The previous section used the liquidity contract admins.liq and its techelson version admins.tz . It showcased how to handle expected transfer failures and turn them into test objectives. The failure used to demonstrate the example was that we tried to add a new administrator by calling the contract from the testcase, which failed because only administrators can add other administrators, and the (address of the) testcase was not registered as such. PUSH @amount mutez 0 ; # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; TRANSFER_TOKENS ; PUSH (option string) (Some \"illegal access to admin account\") ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; DIP {NIL operation } ; CONS ; APPLY_OPERATIONS ; One solution would be to register the testcase directly, but it would be more natural and more generic to be able to apply a transfer as someone else. Hence the SET_SOURCE extension: instruction parameter stack SET_SOURCE code :: address : 'A -> 'B iff code :: [ A -> B ] Warning : the SET_SOURCE extension is only legal in testcases. This extension allows to pretend the testcase is a live contract or account from the environment. More precisely, all operations created in the code under the SET_SOURCE will have their source and sender be the address from the stack. Testcase setSource.techel uses this instruction to pretend that root is the one adding a new administrator. # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; { # Pretending to be `root`. DUUUUUUP ; PRINT_STACK ; STEP ; SET_SOURCE { TRANSFER_TOKENS } } ; PRINT_STACK ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS The testcase now succeeds, and its output is $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/setSource.techel\nRunning test `SetSource`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @amount |\n| 0utz |\n| mutez |\n|--------------------------------------------------------------------------------------------------|\n| @storage |\n| (\"root\", (\"new_admin\", address[2]@new_admin)) |\n| (pair string (pair string address)) |\n|--------------------------------------------------------------------------------------------------|\n| address[1]@root |\n| address |\n|==================================================================================================|\nRunning test script...\nstopping [no information] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) |\n| operation |\n|==================================================================================================|\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `SetSource` Notice how, in the last PRINT_STACK , the sender of the transfer is now root : TRANSFER[uid:3] address[1]@root -> address[3]@admins ...","breadcrumbs":"Running Tests » Usurpation of Identity","id":"18","title":"Usurpation of Identity"},"19":{"body":"Techelson has a test generation feature. It is relatively naive: the testcases it generates do not really take the semantics of your contract into account. Given a contract, it will generate a random storage for that contract and deploy it. Then, it will create a random number of transfers to that contract with random parameters. Note that while test generation is random, it is expected to be deterministic: the same test generation command on a contract should always generate the same test cases. It is naive in the sense that it can (and statistically will) generate testcases which are not successful. Still, this feature is useful to generate a testcase skeleton with random contract creation and transfers that you can edit to test the behavior of your contract.","breadcrumbs":"Test Generation","id":"19","title":"Test Generation"},"2":{"body":"Let us build a contract which counts how many time it was called. We will allow clients to specify that they do not want to be counted by passing a boolean ghost : if it is true, the contract will not count the transfer. Based on this description, we already have the storage and parameter types: storage nat;\nparameter bool; The code of this contract should perform the following steps: destroy the parameter/storage pair branch on the ghost parameter: this consumes the parameter, meaning the storage is now on the top of the stack do nothing if ghost is true: the storage is unchanged add 1 to the storage otherwise pair an empty list of operations with the new storage The complete description of the contract, simpleExample.tz , is thus storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n};","breadcrumbs":"Michelson » A Simple Example","id":"2","title":"A Simple Example"},"20":{"body":"Let's showcase testgeneration on simpleExample.tz : storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n}; Test generation is activated by passing to techelson a testgen argument triggering the test generation mode. You can read more about modes in the Usage section . First, let's generate a single testcase ( -n 1 , or --count 1 ) and let techelson run it: $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1\ndone generating test for contract SimpleExample\nRunning test `SimpleExampleTest1`\nRunning test script... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `SimpleExampleTest1` While this can be useful for simple contracts, usually you want to retrieve the testcase directly so that you can modify it to suit your needs. So let's still generate one testcase but this time we will dump it in the current directory (trailing . in the techelson command). $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1 . ; echo ; echo \"testcase:\" ; echo ; cat SimpleExampleTest1.techel ; rm SimpleExampleTest1.techel\ndone generating test for contract SimpleExample\ndumping testcases to `.` testcase: { # deploying contract `SimpleExample` { # creating contract creation parameters { # creating storage for contract `SimpleExample` PUSH nat 807338681362247 ; # money transferred PUSH mutez 638557938255190 ; # delegatable PUSH bool False ; # spendable PUSH bool False ; # delegate NONE key_hash ; # manager { PUSH key \"11a6ffbc9fb85\" ; BLAKE2B } } ; CREATE_CONTRACT \"SimpleExample\" } ; # create a list of operations and apply { NIL operation ; SWAP ; CONS ; APPLY_OPERATIONS } ; # create transfer operation { DUP ; # retrieve contract from address, fail if none { CONTRACT bool ; IF_NONE { PUSH string \"unable to spawn contract `SimpleExample`\" ; FAILWITH } {} } ; PUSH mutez 120584798270008 ; PUSH bool True ; TRANSFER_TOKENS } ; # create a list of operations and apply { NIL operation ; SWAP ; CONS ; APPLY_OPERATIONS }\n}","breadcrumbs":"Test Generation » Example","id":"20","title":"Example"},"21":{"body":"This section provides a quick overview of some of techelson's features: list of all the extensions (brief) discussion on techelson's command-line usage These sections try to provide relatively raw, brief and crucial information about the features they discuss. They will usually point to the relevant sections of this book if you need more details.","breadcrumbs":"Quick Reference","id":"21","title":"Quick Reference"},"22":{"body":"Warning : the following instructions can only be used in contracts, not testcases : SENDER SOURCE Techelson testcases have access to an extended instruction set to ease the process of writing tests. See rsc/tests/ for more examples. Note that techelson treats #> as whitespace, so you can use extensions in contracts (when legal ) while keeping them pure michelson, like in the example below DIP { ... CONS ; #> PRINT_STACK ; #> STEP \"after list cons\" ; PUSH int 3 ; ...\n}","breadcrumbs":"Quick Reference » Extensions","id":"22","title":"Extensions"},"23":{"body":"The following instructions are legal in testcases and contracts : STEP and STEP : 'S -> 'S Relevant section of this book: First Steps . suspends the evaluator and prints a string, if any. PRINT_STACK : 'S -> 'S Relevant section of this book: First Steps . prints the current state of the stack","breadcrumbs":"Quick Reference » Unrestricted Extensions","id":"23","title":"Unrestricted Extensions"},"24":{"body":"The following instructions are only legal in testcases: CREATE_CONTRACT : :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S Relevant section of this book: Creating and Calling Contracts . Creates an instance of the contract named after the string parameter. The type of the storage of the contract must be 'g . SPAWN_CONTRACT 'g : :: string : key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S Relevant section of this book: Creating and Calling Contracts . Exactly the same as the CREATE_CONTRACT extension above but the name of the contract is passed as a stack parameter, and the type of the storage is an explicit parameter of the instruction. APPLY_OPERATIONS : (list operation) : 'S -> 'S Relevant section of this book: Creating and Calling Contracts . consumes a list of operations suspends the execution of the testcase applies all the operations in the list (these operations can create operations which will be applied too) resumes the execution of the testcase GET_STORAGE 'storage : contract _ : 'S -> (option 'storage) : 'S address : 'S -> (option 'storage) : 'S Relevant section of this book: Live Contract Inspection . consumes a contract pushes Some of the current value of the storage of the contract if its storage has type 'storage , None otherwise GET_BALANCE : contract _ : 'S -> mutez : 'S address : 'S -> mutez : 'S Relevant section of this book: Live Contract Inspection . Same as GET_STORAGE , but pushes the balance of the contract instead of its storage MUST_FAIL 'a : (option 'a) : operation : 'S -> 'S Relevant section of this book: Testing for Failures . Specifies that an operation (or the operation it creates recursively) must fail, and optionaly that it FAIL ed WITH a certain value. More precisely, the whole testcase will fail if the operation or the operations it creates recursively, when applied , either succeeds, or the (option 'a) parameter is (Some value) and the operation's failure was not caused by a FAILWITH on precisely value Note that if the optional value is NONE , then MUST_FAIL accepts any kind of protocol failure, not just FAILWITH . For instance, it will also accept creation/transfer operations that fail because of insufficient balance, because this precise operation already ran (it was DUP -ed), etc . SET_SOURCE code , with code :: [ 'A -> 'B ] address :: 'A -> 'B Relevant section of this book: Usurpation of Identity . Sets the source of the testcase. Without this extension, the source of all transfers can only be the testcase. This allows to run code while pretending the testcase is a different live contract.","breadcrumbs":"Quick Reference » Testcase-only Extensions","id":"24","title":"Testcase-only Extensions"},"25":{"body":"Warning : so-called contract initializers are mentioned in the --help but are not currently supported. The full list of options (for the nominal mode) is obtained with --help : $ techelson --help\nUSAGE: ../bin/techelson [OPTIONS] -- [FILES]* ../bin/techelson [OPTIONS] testgen [TESTGEN_OPTIONS] [-- DIR]? OPTIONS: -h, --help prints this help message -v, --verb ? increases or sets verbosity [default: 1] -q decreases verbosity -s, --step (on|true|True|no|off|false|False)? (de)activates step-by-step evaluation [default: false] --skip (on|true|True|no|off|false|False)? if true, all steps will automatically advance (and `--step` will be set to false) [default: false] --contract ',' ? adds a contract to the test environment. The second optional argument is the contract's initializer. MODES: testgen activates and controls test generation run `../bin/techelson --help` to obtain help on a specific mode. For example: `../bin/techelson testgen --help`","breadcrumbs":"Quick Reference » Command-Line Options","id":"25","title":"Command-Line Options"},"26":{"body":"Modes available: testgen : Test Generation Techelson's modes are triggered by simply passing the name of the mode as an argument. For instance, $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 2\ndone generating tests for contract SimpleExample\nRunning test `SimpleExampleTest1`\nRunning test script... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `SimpleExampleTest1`\nRunning test `SimpleExampleTest2`\nRunning test script... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `SimpleExampleTest2` You can have techelson print the options for mode with techelson --help .","breadcrumbs":"Quick Reference » Modes","id":"26","title":"Modes"},"27":{"body":"Given a contract, this mode is in charge of generating a testcase automatically. The relevant chapter of this book is Test Generation . $ techelson testgen --help\nGenerates testcases for some contract(s). If a directory is provided, the testcases will\nbe dumped there. Otherwise techelson will just run the testcases it generated. USAGE: ../bin/techelson [OPTIONS] testgen [TESTGEN_OPTIONS] [-- DIR]? TESTGEN_OPTIONS: -h, --help prints this help message -n, --count sets the number of testcases to generate [default: 1]","breadcrumbs":"Quick Reference » Test Generation","id":"27","title":"Test Generation"},"3":{"body":"Interaction with techelson is currently file-based. There are two kinds of files techelson works with. Contract files are just plain michelson smart contract files, and testcase files are files containing a Michelson instruction, usually a sequence of instructions { } . Omitting options, running techelson looks like (the -- separator is optional): $ techelson \\ --contract .. --contract \\ -- ... Techelson will then run the testcases in sequence. All testcases will have access to all the contracts provided with --contract . For more information about command-line refer to the Usage section . This section builds on the small example from the Michelson section , and a slightly more involved example later on, to introduce techelson's workflow and its extended instruction set. First Steps shows how to run a simple testcase with no contract. Introduces PRINT_STACK and STEP . Creating and Calling Contracts discusses the contract environment and contract creation and transfers. Introduces APPLY_OPERATIONS . Live Contract Inspection deals with recovering the balance and the storage of live (deployed) contracts. Introduces GET_BALANCE and GET_STORAGE . Anonymous Contracts details how to create anonymous contracts. Transfers introduces the creation of transfers to a contract. Testing for Failures shows how to test that an operation fails and how. This section is the first to use the slightly more complex example admins.tz , and it's liquidity version admins.liq . Introduces MUST_FAIL . Usurpation of Identity illustrates how to have your testcases pretend they are a specific contract/account, and to create operations in their name. Introduces SET_SOURCE .","breadcrumbs":"Running Tests","id":"3","title":"Running Tests"},"4":{"body":"Let's give ourselves a testcase file test1.techel { PUSH string \"starting the test\" ;\n} This testcase does not use any contract. To run it, simply run $ techelson rsc/no_contract/okay/test1.techel\nRunning test `Test1`\nRunning test script...\nDone running test `Test1`","breadcrumbs":"Running Tests » First Steps","id":"4","title":"First Steps"},"5":{"body":"This is not very informative, which is why techelson provides extensions such as PRINT_STACK . This instruction prints the state of the stack in a readable way. For example, if we change the example above to test2.techel to { PUSH string \"starting the test\" ; PRINT_STACK\n} the output becomes $ techelson rsc/no_contract/okay/test2.techel\nRunning test `Test2`\nRunning test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================|\nRunning test script...\nDone running test `Test2`","breadcrumbs":"Running Tests » Introspection","id":"5","title":"Introspection"},"6":{"body":"When you run a complex testcase or contract, it can be useful to have break point that stop the execution. This gives you time to read a PRINT_STACK before the next step is actually performed, make one step, read the state of the stack, etc. The STEP techelson extension allows to do just that. You can also provide a string that will be displayed when the STEP instruction is reached. The following example ( test3.techel ) showcases the STEP instruction: { PUSH string \"starting the test\" ; PRINT_STACK ; STEP \"just started the test\" ; # The description string is optional, see below. PUSH @not_important string \"a string with a variable name\" ; PRINT_STACK ; STEP ; # No description string. DROP ; PRINT_STACK ; STEP \"The string should be gone. Also, we're done.\"\n} Techelson will stop on all STEP instructions and ask you to press enter to keep going: $ techelson rsc/no_contract/okay/test3.techel\nRunning test `Test3`\nRunning test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================|\nRunning test script...\nstopping [just started the test] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|--------------------------------------------------------------------------------------------------|\n| @not_important |\n| \"a string with a variable name\" |\n| string |\n|==================================================================================================|\nRunning test script...\nstopping [no information] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================|\nRunning test script...\nstopping [The string should be gone. Also, we're done.] press `return` to continue Running test script...\nDone running test `Test3` Pro tip 1 : you can use PRINT_STACK and STEP in contracts too (see the extensions section for details). Also, techelson treats #> as a whitespace. Hence, your can have #> STEP ; and/or #> PRINT_STACK ; in your michelson contract, which lets you inspect it during tests. Your contract remains legal michelson thanks to the leading # which comments the command. Pro tip 2 : passing --skip on to techelson will skip (but still display) all the steps. The output of the commands reported in this book are all obtained by running techelson with --skip on .","breadcrumbs":"Running Tests » Steps","id":"6","title":"Steps"},"7":{"body":"When you pass a contract to techelson using techelson --contract ... , the contract becomes a named contract in the techelson environment. The name of the contract is the name of the file up to its first . character, with the first letter capitalized. So techelson \\ --contract my_contract.tz \\ --contract myContract.tz \\ --contract my.contract.tz \\ ... defines three named contracts: My_contract , MyContract and My . Note that the naming convention is the same for testcases, based on the testcase file. The name of a testcase might be used in techelson's output to provide information, but it has no practical use currently.","breadcrumbs":"Running Tests » Creating and Calling Contracts","id":"7","title":"Creating and Calling Contracts"},"8":{"body":"Techelson extends the CREATE_CONTRACT michelson instruction with the following rule instruction parameter stack CREATE_CONTRACT :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S where is the name of a contract with storage type 'g in the environment. The semantics of the stack parameters is the same as in michelson: manager, optional delegate, the two spendable and delegatable flags, and the balance and storage of the contract created. NB : techelson also provides the SPAWN_CONTRACT extension which takes the name of the contract on the stack. See techelson's Extensions for more details. Say we have the following contract in file simpleExample.tz . storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n}; We can craft a creation operation in file create1.techel as follows { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; PRINT_STACK ; STEP \"before creation\" ; CREATE_CONTRACT \"SimpleExample\" ; PRINT_STACK ; STEP \"after creation\" ;\n} This produces the following output $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create1.techel\nRunning test `Create1`\nRunning test script...\nstack:\n|==================================================================================================|\n| @storage |\n| 0 |\n| nat |\n|--------------------------------------------------------------------------------------------------|\n| @amount |\n| 3utz |\n| mutez |\n|--------------------------------------------------------------------------------------------------|\n| @delegatable |\n| True |\n| bool |\n|--------------------------------------------------------------------------------------------------|\n| @spendable |\n| True |\n| bool |\n|--------------------------------------------------------------------------------------------------|\n| @delegate |\n| None |\n| (option key_hash) |\n|--------------------------------------------------------------------------------------------------|\n| @manager |\n| \"sha512:manager address\" |\n| key_hash |\n|==================================================================================================|\nRunning test script...\nstopping [before creation] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| address[1] |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| CREATE[uid:0] (@address[1], \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" |\n| operation |\n|==================================================================================================|\nRunning test script...\nstopping [after creation] press `return` to continue Running test script...\nDone running test `Create1`","breadcrumbs":"Running Tests » Named Contract Creation","id":"8","title":"Named Contract Creation"},"9":{"body":"Michelson operations (contract/account creation, transfers) cannot be applied directly in a michelson contract. Instead, a contract produces a list of operation which the tezos runtime applies after the contract is done running. A techelson test case needs to be able to apply operations however, which is why the APPLY_OPERATIONS extension exists. This instruction suspends the execution of the testcase to apply the list of operations on the top of the stack. When all these operations are done running, techelson resumes the execution of the testcase. Warning : this instruction is only legal in testcases, not in contracts. Consider testcase create2.techel : { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; DIP { NIL operation } ; CONS ; PRINT_STACK ; STEP \"operation is now in a list\" ; APPLY_OPERATIONS ; PRINT_STACK ; STEP \"testing that contract exists\" ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } { PUSH string \"success\" ; PRINT_STACK }\n} Running it yields $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create2.techel\nRunning test `Create2`\nRunning test script...\nstack:\n|==================================================================================================|\n| @main |\n| address[1]@main |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| [ CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" ] |\n| (list operation) |\n|==================================================================================================|\nRunning test script...\nstopping [operation is now in a list] press `return` to continue Running test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @main |\n| address[1]@main |\n| address |\n|==================================================================================================|\nRunning test script...\nstopping [testing that contract exists] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| \"success\" |\n| string |\n|==================================================================================================|\nRunning test script...\nDone running test `Create2` Notice the line Applying operations... . We could increase techelson's verbosity to obtain more information as to which contracts are deployed, but let's see how to inspect the state of a live (deployed) contract instead.","breadcrumbs":"Running Tests » Applying Operations","id":"9","title":"Applying Operations"}},"length":28,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"4":{"0":{"5":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951}}}}}},"1":{"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"5":{"8":{"4":{"7":{"9":{"8":{"2":{"7":{"0":{"0":{"0":{"8":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":8,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"25":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"26":{"tf":1.0},"6":{"tf":1.0}}},"3":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"6":{"3":{"8":{"5":{"5":{"7":{"9":{"3":{"8":{"2":{"5":{"5":{"1":{"9":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"8":{"0":{"7":{"3":{"3":{"8":{"6":{"8":{"1":{"3":{"6":{"2":{"2":{"4":{"7":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"17":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"24":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"20":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"0":{"]":{"@":{"a":{"d":{"d":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"2":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{"@":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{"]":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"]":{"@":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":4.0},"14":{"tf":3.605551275463989},"15":{"tf":3.1622776601683795},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"24":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}},"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"18":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":6,"docs":{"13":{"tf":2.6457513110645907},"14":{"tf":2.6457513110645907},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"17":{"tf":2.449489742783178},"18":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":3.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"18":{"tf":2.0}}}}}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"z":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"17":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"11":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.6457513110645907},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.0},"20":{"tf":2.23606797749979},"24":{"tf":1.7320508075688772},"26":{"tf":2.8284271247461903},"9":{"tf":2.6457513110645907}}},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"26":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":2.0},"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"2":{"b":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":6,"docs":{"0":{"tf":2.23606797749979},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0},"6":{"tf":1.0}}},"l":{"df":9,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.449489742783178},"12":{"tf":2.23606797749979},"14":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"24":{"tf":2.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"c":{".":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"27":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"2":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":12,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}},"x":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"17":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"(":{"df":1,"docs":{"27":{"tf":1.0}}},"/":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":26,"docs":{"0":{"tf":3.1622776601683795},"1":{"tf":3.3166247903554},"10":{"tf":4.358898943540674},"11":{"tf":4.47213595499958},"12":{"tf":3.1622776601683795},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.449489742783178},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.8284271247461903},"19":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":3.4641016151377544},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.7416573867739413},"25":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"27":{"tf":1.0},"3":{"tf":3.872983346207417},"4":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":3.1622776601683795},"8":{"tf":2.449489742783178},"9":{"tf":3.605551275463989}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"8":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"13":{"tf":1.0},"14":{"tf":3.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"24":{"tf":2.6457513110645907},"3":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"15":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"0":{"df":3,"docs":{"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{")":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"9":{"tf":1.0}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"11":{"tf":1.0},"21":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"26":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"27":{"tf":1.0}}}},"p":{"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.7320508075688772}}}}},"d":{"df":1,"docs":{"24":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"c":{"df":4,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"23":{"tf":1.0},"25":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.0},"13":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"24":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":11,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":2.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.6457513110645907},"18":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"25":{"tf":1.0},"3":{"tf":2.449489742783178},"4":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"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":1,"docs":{"10":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":2,"docs":{"24":{"tf":2.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"0":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":3.0},"20":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.449489742783178}}}}},"t":{"_":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.0},"2":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"n":{"df":4,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":2,"docs":{"1":{"tf":1.0},"15":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":3,"docs":{"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.7320508075688772}}}},"n":{"c":{"df":4,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"18":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":2.6457513110645907},"18":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"3":{"tf":2.6457513110645907}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"t":{"'":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"24":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":2.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"%":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}}}}},"'":{"df":7,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"9":{"tf":1.0}}},"df":1,"docs":{"6":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"11":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"0":{"tf":2.0},"13":{"tf":2.0},"18":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"3":{"tf":1.0}}}},"w":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}},"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"p":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"13":{"tf":2.449489742783178},"14":{"tf":2.0},"15":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},"df":11,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":2.23606797749979},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":2.6457513110645907},"27":{"tf":1.0}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":11,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"4":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":2.0},"13":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":2.6457513110645907},"18":{"tf":2.449489742783178},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772}}}},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"2":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":4,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}},"n":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":11,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0}}},"h":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"i":{"c":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"13":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"|":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":17,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.8284271247461903},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"17":{"tf":2.449489742783178},"18":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":3.3166247903554},"24":{"tf":3.7416573867739413},"26":{"tf":2.8284271247461903},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":3.4641016151377544}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":2.6457513110645907},"25":{"tf":2.449489742783178},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.7320508075688772}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"24":{"tf":1.0},"27":{"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":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":2.6457513110645907},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.4641016151377544},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"24":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.0},"6":{"tf":1.0},"7":{"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":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"6":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":17,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.4641016151377544},"12":{"tf":3.7416573867739413},"14":{"tf":3.7416573867739413},"15":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.449489742783178},"2":{"tf":1.0},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}},"q":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":2.23606797749979}}}}},"df":1,"docs":{"24":{"tf":1.0}}},"w":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}},"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951}}}}}},"l":{"df":3,"docs":{"12":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":7,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":2.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"20":{"tf":1.0}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":3.0},"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.0}}}}},"s":{"c":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"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":{},"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":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"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":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"z":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"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":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":21,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":3.0},"11":{"tf":2.8284271247461903},"12":{"tf":3.0},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.8284271247461903},"20":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":3.3166247903554},"27":{"tf":1.0},"3":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.0},"6":{"tf":3.3166247903554},"8":{"tf":2.6457513110645907},"9":{"tf":3.4641016151377544}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.6457513110645907},"14":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}}}}}},"df":7,"docs":{"10":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":4.0},"25":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"3":{"tf":2.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"18":{"tf":2.23606797749979},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"h":{"a":{"5":{"1":{"2":{":":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":2.449489742783178},"26":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"i":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"25":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"25":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":2.0},"25":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"1":{"tf":2.449489742783178},"10":{"tf":3.1622776601683795},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":4.0},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"2":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":3.0},"3":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},".":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":3.4641016151377544},"14":{"tf":2.449489742783178},"15":{"tf":3.0},"16":{"tf":2.0},"17":{"tf":2.8284271247461903},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"25":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":2.449489742783178},"20":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}},"df":1,"docs":{"0":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":22,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"a":{"df":0,"docs":{},"s":{"df":18,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.8284271247461903},"27":{"tf":2.23606797749979},"3":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"11":{"tf":1.0}}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":23,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":3.0},"11":{"tf":2.8284271247461903},"12":{"tf":3.1622776601683795},"13":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"17":{"tf":2.8284271247461903},"18":{"tf":3.0},"19":{"tf":2.449489742783178},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":3.605551275463989},"27":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"4":{"tf":2.0},"5":{"tf":2.449489742783178},"6":{"tf":4.0},"8":{"tf":2.6457513110645907},"9":{"tf":3.4641016151377544}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.4142135623730951}}}}}},"df":4,"docs":{"20":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"z":{"df":1,"docs":{"13":{"tf":1.0}},"o":{"df":4,"docs":{"0":{"tf":2.0},"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"p":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"3":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951}}},"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":6,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}}}},"df":16,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":3.3166247903554},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":3.0},"17":{"tf":2.23606797749979},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772},"9":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":9,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"14":{"tf":2.6457513110645907},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":2.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":2.8284271247461903},"15":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}},"df":13,"docs":{"0":{"tf":2.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":3,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"17":{"tf":2.6457513110645907},"24":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"25":{"tf":1.0}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"22":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"breadcrumbs":{"root":{"0":{".":{"4":{"0":{"5":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951}}}}}},"1":{"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"5":{"8":{"4":{"7":{"9":{"8":{"2":{"7":{"0":{"0":{"0":{"8":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":8,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"25":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"26":{"tf":1.0},"6":{"tf":1.0}}},"3":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"6":{"3":{"8":{"5":{"5":{"7":{"9":{"3":{"8":{"2":{"5":{"5":{"1":{"9":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"8":{"0":{"7":{"3":{"3":{"8":{"6":{"8":{"1":{"3":{"6":{"2":{"2":{"4":{"7":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"17":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"24":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"20":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"0":{"]":{"@":{"a":{"d":{"d":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"2":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{"@":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{"]":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"]":{"@":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":4.0},"14":{"tf":3.605551275463989},"15":{"tf":3.1622776601683795},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"24":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}},"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"18":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":6,"docs":{"13":{"tf":2.6457513110645907},"14":{"tf":2.6457513110645907},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"17":{"tf":2.449489742783178},"18":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":3.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"18":{"tf":2.0}}}}}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"z":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"17":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"11":{"tf":2.449489742783178},"3":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.6457513110645907},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.0},"20":{"tf":2.23606797749979},"24":{"tf":1.7320508075688772},"26":{"tf":2.8284271247461903},"9":{"tf":2.8284271247461903}}},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"26":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":2.0},"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"2":{"b":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":6,"docs":{"0":{"tf":2.23606797749979},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0},"6":{"tf":1.0}}},"l":{"df":9,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.449489742783178},"12":{"tf":2.23606797749979},"14":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"24":{"tf":2.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"c":{".":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"27":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"2":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":12,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}},"x":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"17":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"(":{"df":1,"docs":{"27":{"tf":1.0}}},"/":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":26,"docs":{"0":{"tf":3.1622776601683795},"1":{"tf":3.3166247903554},"10":{"tf":4.47213595499958},"11":{"tf":4.58257569495584},"12":{"tf":3.1622776601683795},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.449489742783178},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.8284271247461903},"19":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":3.4641016151377544},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.7416573867739413},"25":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"27":{"tf":1.0},"3":{"tf":3.872983346207417},"4":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":3.3166247903554},"8":{"tf":2.6457513110645907},"9":{"tf":3.605551275463989}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"8":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"13":{"tf":1.0},"14":{"tf":3.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"24":{"tf":2.6457513110645907},"3":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"15":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"0":{"df":3,"docs":{"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":2.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"8":{"tf":2.6457513110645907},"9":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{")":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"9":{"tf":1.0}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"11":{"tf":1.0},"21":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"26":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"27":{"tf":1.0}}}},"p":{"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.7320508075688772}}}}},"d":{"df":1,"docs":{"24":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"c":{"df":4,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"23":{"tf":1.0},"25":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.0},"13":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"24":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":11,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":2.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"25":{"tf":1.0},"3":{"tf":2.449489742783178},"4":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"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":1,"docs":{"10":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":2,"docs":{"24":{"tf":2.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"0":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":3.1622776601683795},"20":{"tf":2.6457513110645907},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.6457513110645907}}}}},"t":{"_":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.0},"2":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"n":{"df":4,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":2,"docs":{"1":{"tf":1.0},"15":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":3,"docs":{"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.7320508075688772}}}},"n":{"c":{"df":4,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"18":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":2.6457513110645907},"18":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"3":{"tf":2.6457513110645907}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"t":{"'":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"24":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":2.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"%":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}}}}},"'":{"df":7,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"9":{"tf":1.0}}},"df":1,"docs":{"6":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"11":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"3":{"tf":1.0},"9":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"0":{"tf":2.0},"13":{"tf":2.0},"18":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"3":{"tf":1.0}}}},"w":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}},"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"p":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"13":{"tf":2.449489742783178},"14":{"tf":2.0},"15":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},"df":12,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":2.449489742783178},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":2.8284271247461903},"27":{"tf":1.0}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":11,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"4":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":2.0},"13":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":2.6457513110645907},"18":{"tf":2.449489742783178},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":2.0}}}},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"2":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":4,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}},"n":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":11,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0}}},"h":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"i":{"c":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"13":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"|":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":17,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.8284271247461903},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"17":{"tf":2.449489742783178},"18":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":3.3166247903554},"24":{"tf":3.7416573867739413},"26":{"tf":2.8284271247461903},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":3.605551275463989}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":2.6457513110645907},"25":{"tf":2.6457513110645907},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.7320508075688772}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"24":{"tf":1.0},"27":{"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":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":2.6457513110645907},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.4641016151377544},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"24":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.0},"6":{"tf":1.0},"7":{"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":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"6":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":17,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.4641016151377544},"12":{"tf":3.7416573867739413},"14":{"tf":3.7416573867739413},"15":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.449489742783178},"2":{"tf":1.0},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}},"q":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":8,"docs":{"0":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":2.23606797749979}}}}},"df":1,"docs":{"24":{"tf":1.0}}},"w":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}},"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951}}}}}},"l":{"df":3,"docs":{"12":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":7,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":2.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"20":{"tf":1.0}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":3.0},"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.0}}}}},"s":{"c":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"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":{},"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":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"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":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"z":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"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":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":23,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":3.1622776601683795},"11":{"tf":3.0},"12":{"tf":3.1622776601683795},"13":{"tf":1.0},"14":{"tf":3.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":3.0},"20":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":3.3166247903554},"27":{"tf":1.0},"3":{"tf":2.23606797749979},"4":{"tf":2.449489742783178},"5":{"tf":2.23606797749979},"6":{"tf":3.4641016151377544},"7":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":3.605551275463989}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.6457513110645907},"14":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}}}}}},"df":7,"docs":{"10":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":4.0},"25":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"3":{"tf":2.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"18":{"tf":2.23606797749979},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"h":{"a":{"5":{"1":{"2":{":":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":2.449489742783178},"26":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"i":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"25":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"25":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":2.0},"25":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"6":{"tf":3.7416573867739413},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"1":{"tf":2.449489742783178},"10":{"tf":3.1622776601683795},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":4.0},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"2":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":3.0},"3":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},".":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":3.4641016151377544},"14":{"tf":2.449489742783178},"15":{"tf":3.0},"16":{"tf":2.0},"17":{"tf":2.8284271247461903},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"25":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":2.449489742783178},"20":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}},"df":1,"docs":{"0":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":22,"docs":{"0":{"tf":3.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"a":{"df":0,"docs":{},"s":{"df":18,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.0},"27":{"tf":2.23606797749979},"3":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"11":{"tf":1.0}}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":24,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":3.1622776601683795},"11":{"tf":3.0},"12":{"tf":3.3166247903554},"13":{"tf":2.0},"14":{"tf":3.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"19":{"tf":2.6457513110645907},"20":{"tf":3.1622776601683795},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":3.605551275463989},"27":{"tf":1.7320508075688772},"3":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.6457513110645907},"6":{"tf":4.123105625617661},"7":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":3.605551275463989}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.4142135623730951}}}}}},"df":4,"docs":{"20":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"z":{"df":1,"docs":{"13":{"tf":1.0}},"o":{"df":4,"docs":{"0":{"tf":2.0},"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"p":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"3":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951}}},"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":6,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}}}},"df":16,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":3.4641016151377544},"13":{"tf":1.0},"15":{"tf":2.8284271247461903},"16":{"tf":3.0},"17":{"tf":2.23606797749979},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772},"9":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":9,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"14":{"tf":2.6457513110645907},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":2.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":2.8284271247461903},"15":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}},"df":13,"docs":{"0":{"tf":2.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":3,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"17":{"tf":2.6457513110645907},"24":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"25":{"tf":1.0}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"22":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"8":{"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":{"2":{"tf":1.0},"20":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0}}}}}}}},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"25":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"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":{"21":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"4":{"tf":1.0},"6":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"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 +window.search = {"doc_urls":["index.html#techelson","michelson/index.html#michelson","michelson/simple_example.html#a-simple-example","testing/index.html#running-tests","testing/basic.html#first-steps","testing/basic.html#introspection","testing/basic.html#steps","testing/contracts.html#creating-and-calling-contracts","testing/contracts.html#named-contract-creation","testing/contracts.html#applying-operations","testing/inspection.html#live-contract-inspection","testing/anonymous.html#anonymous-contracts","testing/transfers.html#transfers","testing/failures.html#testing-for-failures","testing/failures.html#creation","testing/failures.html#transfer-failures","testing/failures.html#handling-failures","testing/failures.html#more-precise-failure-testing","testing/set_source.html#usurpation-of-identity","testgen/index.html#test-generation","testgen/example.html#example","quick_ref/index.html#quick-reference","quick_ref/extensions.html#extensions","quick_ref/extensions.html#unrestricted-extensions","quick_ref/extensions.html#testcase-only-extensions","quick_ref/usage.html#command-line-options","quick_ref/usage.html#modes","quick_ref/usage.html#test-generation"],"index":{"documentStore":{"docInfo":{"0":{"body":182,"breadcrumbs":1,"title":1},"1":{"body":131,"breadcrumbs":1,"title":1},"10":{"body":239,"breadcrumbs":5,"title":3},"11":{"body":246,"breadcrumbs":4,"title":2},"12":{"body":288,"breadcrumbs":3,"title":1},"13":{"body":235,"breadcrumbs":4,"title":2},"14":{"body":346,"breadcrumbs":3,"title":1},"15":{"body":187,"breadcrumbs":4,"title":2},"16":{"body":272,"breadcrumbs":4,"title":2},"17":{"body":327,"breadcrumbs":6,"title":4},"18":{"body":402,"breadcrumbs":4,"title":2},"19":{"body":63,"breadcrumbs":2,"title":2},"2":{"body":96,"breadcrumbs":3,"title":2},"20":{"body":260,"breadcrumbs":3,"title":1},"21":{"body":32,"breadcrumbs":2,"title":2},"22":{"body":44,"breadcrumbs":3,"title":1},"23":{"body":31,"breadcrumbs":4,"title":2},"24":{"body":241,"breadcrumbs":4,"title":2},"25":{"body":93,"breadcrumbs":5,"title":3},"26":{"body":188,"breadcrumbs":3,"title":1},"27":{"body":48,"breadcrumbs":4,"title":2},"3":{"body":151,"breadcrumbs":2,"title":2},"4":{"body":28,"breadcrumbs":4,"title":2},"5":{"body":44,"breadcrumbs":3,"title":1},"6":{"body":196,"breadcrumbs":3,"title":1},"7":{"body":54,"breadcrumbs":5,"title":3},"8":{"body":208,"breadcrumbs":5,"title":3},"9":{"body":233,"breadcrumbs":4,"title":2}},"docs":{"0":{"body":"Techelson is a T est E xecution E nvironment (TEE) for Michelson smart contracts . Michelson is the stack-based language used by the tezos blockchain . Techelson is open source and hosted on github , where you can find the build instructions. Techelson emulates just enough of the tezos blockchain protocol to be able to create smart contracts and make transfers between contracts. Currently, techelson only aims at testing functional properties of smart contracts. In particular, it does not provide any information about the gas or burn of transfers/contracts. This is because computing the burn , and especially the gas of a transfer is rather complex and would require techelson to drop some of the abstractions it makes over the tezos protocol to run tests faster. Techelson can be used either as a command-line tool or as an OCaml library. This book focuses on the former use case. Also, this book assumes the reader is fairly familiar with the michelson language. We will discuss what a contract is and how it behaves, but the reader should know what michelson types and instructions look like, and their semantics. Michelson is a fairly low-level language which makes it difficult to discuss complex contracts. This book will sometimes give contracts as Liquidity contracts. Liquidity is a higher-level, OCaml-like language for tezos smart contracts which compiles to Michelson. NB : if you are a Liquidity user, you should probably take a look at this blog post on how to write tests directly in Liquidity, and run these tests using Techelson. The chapters of this book are Michelson , provides a very brief introduction to michelson smart contracts. Running Tests , describes techelson's workflow for running tests through examples. Test Generation , discusses techelson's test generation features. Quick Reference , quick reminders of techelson's features, such as extensions. All examples in this book are available in the rsc directory of the github repository .","breadcrumbs":"Techelson","id":"0","title":"Techelson"},"1":{"body":"Michelson is the stack-based, strongly typed, low-level language supported by the tezos blockchain for smart contracts. We only provide a brief description of michelson here, and refer the reader to the official documentation for more details. A michelson contract is similar to transition system. The storage of a contract is its current state; the entry point ( code ) of a contract is a function which takes some tezos tokens (of type mutez ), the current storage of the contract, and a parameter of a certain type provided by the client of the contract. It returns a list of operations (contract/account creation, transfers, etc. ), and the new storage of the contract. In practice, a contract looks as follows: storage ;\nparameter ;\ncode ; Note that tokens are passed implicitely: they are credited to the contract before it starts running (although the amount of the transfer can be accessed with the AMOUNT instruction). Hence the code of the contract takes two parameters, which are aggregated in a pair (parameter, storage) . The same goes with the operations and the new storage returned by the contract, which are returned as a pair (operations, new_storage) . In the stack-based context of michelson, \"takes as argument\" means \"starts with a stack containing \". Likewise, \"returns \" here means \"leaves on the stack at the end (and nothing else than )\".","breadcrumbs":"Michelson","id":"1","title":"Michelson"},"10":{"body":"Michelson smart contracts cannot access each other's storage. They can only interact through transfers, during which the client of the contract provides a parameter that the contract runs its code on. As a test framework, techelson provides inspection instructions which give access to the balance and the storage of a live (deployed) contract. Both consume a contract from the top of the stack. instruction parameter stack GET_STORAGE 'storage :: contract _ : 'S or :: address : 'S -> (option 'storage) : 'S GET_BALANCE none :: contract _ : 'S or :: address : 'S -> mutez : 'S Let's extend the previous example to inspection.techel which checks that the balance and storage of the contract deployed are correct. { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } {} ; DUP ; GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 3 ; IFCMPNEQ { PUSH string \"balance should be 3utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 0 ; IFCMPNEQ { PUSH string \"storage should be 0 (nat)\" ; FAILWITH } {} ; }\n} The testcase does not fail and produces the output $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/inspection.techel\nRunning test `Inspection` running test script... applying operation CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (3utz) address[1]@main running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 3utz |\n| mutez |\n|==================================================================================================| running test script...\nstopping [retrieved the balance of the contract] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| 0 |\n| nat |\n|==================================================================================================| running test script...\nstopping [retrieved the storage of the contract] press `return` to continue running test script...\nDone running test `Inspection`","breadcrumbs":"Running Tests » Live Contract Inspection","id":"10","title":"Live Contract Inspection"},"11":{"body":"Techelson accepts contracts through its --contract option. These contracts are named as discussed in Creating and Calling Contracts . Contracts defined at michelson level in testcases and contracts however are considered anonymous . Anonymous contracts can also be deployed and inspected. In fact, they are not really different from named contracts apart from their lack of name, which (currently) prevent techelson from mentioning where they really come from in its debug output. The following anonymous.techel testcase is similar to the one from the Live Contract Inspection except that the contract deployed is not given to the environment, it is inlined in the testcase. { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op { storage nat; parameter bool; code { UNPAIR ; IF { } { PUSH nat 1; ADD } ; NIL operation ; PAIR }; } ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } {} ; DUP ; GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 3 ; IFCMPNEQ { PUSH string \"balance should be 3utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 0 ; IFCMPNEQ { PUSH string \"storage should be 0 (nat)\" ; FAILWITH } {} ; }\n} This produces the exact same output (modulo the testcase's name, and as long as we do not increase verbosity) as for inspection.techel : $ techelson rsc/no_contract/okay/anonymous.techel\nRunning test `Anonymous` running test script... applying operation CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) { storage nat ; parameter bool ; code ...; } live contracts: none\n=> live contracts: (3utz) address[1]@main running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 3utz |\n| mutez |\n|==================================================================================================| running test script...\nstopping [retrieved the balance of the contract] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| 0 |\n| nat |\n|==================================================================================================| running test script...\nstopping [retrieved the storage of the contract] press `return` to continue running test script...\nDone running test `Anonymous`","breadcrumbs":"Running Tests » Anonymous Contracts","id":"11","title":"Anonymous Contracts"},"12":{"body":"At this point creating and applying a transfer should be relatively straightforward. Simply create the operation using michelson's TRANSFER_TOKENS , and apply it with APPLY_OPERATIONS . For instance, transfer.techel builds on inspection.techel . It creates an instance of simpleExample.tz , and creates and applies two operations: the first transfers 7 tokens with a parameter equal to False , and the second transfers 13 tokens with True . (Remember that simpleExample.tz will count transfers for which the parameter is False .) { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; ... # Omitting code creating the contract. { # Making a non-ghost transfer. DUP ; PUSH @amount mutez 7 ; PUSH @ghost bool False ; TRANSFER_TOKENS ; } ; DIP { # Making a ghost transfer. DUP ; PUSH @amount mutez 13 ; PUSH @ghost bool True ; TRANSFER_TOKENS ; } ; { # Creating the list of all operations. DIP { DIP {NIL operation } ; CONS } ; CONS ; } ; APPLY_OPERATIONS ; Finally, it checks that the balance and storage are the ones expected: GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 23 ; IFCMPNEQ { PUSH string \"balance should be 23utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 1 ; IFCMPNEQ { PUSH string \"storage should be 1 (nat)\" ; FAILWITH } {} ; }\n} The test passes and its output is $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/transfer.techel\nRunning test `Transfer` running test script... applying operation CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (3utz) address[1]@main running test script... applying operation TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False live contracts: SimpleExample (3utz) address[1]@main running TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False\n=> live contracts: SimpleExample (10utz) address[1]@main applying operation TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True live contracts: SimpleExample (10utz) address[1]@main running TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True\n=> live contracts: SimpleExample (23utz) address[1]@main => live contracts: SimpleExample (23utz) address[1]@main running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 23utz |\n| mutez |\n|==================================================================================================| running test script...\nstopping [retrieved the balance of the contract] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| 1 |\n| nat |\n|==================================================================================================| running test script...\nstopping [retrieved the storage of the contract] press `return` to continue running test script...\nDone running test `Transfer`","breadcrumbs":"Running Tests » Transfers","id":"12","title":"Transfers"},"13":{"body":"This section is going to use a slightly more complex contract in order to showcase failures and how to test them. Even if you are not familiar with liquidity , the contract's code will most likely be more readable in liquidity than in michelson. Here is the liquidity version, admins.liq : [%%version 0.405] type storage = { admins : (string, address) map ; (* Unused in this example. *) nus : (string, (address * tez * UnitContract.instance)) map ;\n} let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address) (storage : storage) : operation list * storage = admin_check storage admin_name (Current.sender ()); let storage = storage.admins <- Map.update nu_name (Some nu_address) storage.admins in [], storage Note that the clients field of the storage is unused in this example. The admins map maps administrator names to addresses. The only entry point (in this example) is add_admin which allows administrators to add new administrators by registering their name and their address. More precisely, calling this contract is only legal if the SENDER ( Current.sender () ) of the call is an administrator ( c.f. admin_check ). If the call to the contract is not legal, the transfer fails: let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" The parameters of the entry point are admin_name : name associated with the SENDER administrator, nu_name : name of the new administrator to add, nu_address : the address of the new administrator. let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address) Using liquidity to compile the contract to michelson (for instance using liquidity's online editor ), we obtain admins.tz . Here are the storage and parameter types: parameter (pair string (pair string address));\nstorage (pair :storage (map %admins string address) (map %clients string (pair address (pair mutez (contract :UnitContract unit))))); We omit the contract's code ( admins.tz ) as i) it is not very readable and ii) we do not need to know what the code precisely is to create the contract and call it, as long as we know the storage and parameter types.","breadcrumbs":"Running Tests » Testing for Failures","id":"13","title":"Testing for Failures"},"14":{"body":"Creating a contract has been covered in previous sections, so let's give ourselves some code to create the contract with one administrator called root . In fact, let's make an account for root and register it as an administrator. The new administrator new_admin is also deployed as an account. Testcase create.techel does exactly that: { NIL operation ; { # Create an account for `root`. PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@root_manager\" ; SHA512 ; CREATE_ACCOUNT @root ; } ; SWAP ; DIP { CONS } ; { # Create an account for `new_admin`. PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@new_admin_manager\" ; SHA512 ; CREATE_ACCOUNT @new_admin ; } ; SWAP ; DIP { SWAP ; DIP CONS } ; { # Create an `admins` contract. # Create the storage's (empty) `clients` field. EMPTY_MAP @clients string (pair address (pair mutez (contract unit))) ; # Create the storage's `admins` field and register `root`. EMPTY_MAP @admins string address ; DUUUUP ; # Retrieve root's address. SOME @address ; PUSH @name string \"root\" ; PRINT_STACK ; UPDATE ; PAIR @storage ; PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @spendable bool False ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@contract_manager\" ; SHA512 ; CREATE_CONTRACT @admins \"Admins\" } ; SWAP ; DIP { SWAP ; DIP { SWAP ; DIP CONS } } ; DIIIP { APPLY_OPERATIONS } ; PRINT_STACK ; STEP \"after applying creation operations.\"\n} Running this test produces the following output $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/create.techel\nRunning test `Create` running test script...\nstack:\n|==================================================================================================|\n| [ CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; }, CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } ] |\n| (list operation) |\n|--------------------------------------------------------------------------------------------------|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @clients |\n| Map { } |\n| (map string (pair address (pair mutez (contract unit)))) |\n|--------------------------------------------------------------------------------------------------|\n| @admins |\n| Map { } |\n| (map string address) |\n|--------------------------------------------------------------------------------------------------|\n| @address |\n| (Some address[1]@root) |\n| (option address) |\n|--------------------------------------------------------------------------------------------------|\n| @name |\n| \"root\" |\n| string |\n|==================================================================================================| running test script... applying operation CREATE[uid:2] (@address[3]@admins, \"sha512:@contract_manager\", None, false, true, 0utz) \"Admins\" live contracts: none\n=> live contracts: Admins (0utz) address[3]@admins\napplying operation CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\napplying operation CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @admins |\n| address[3]@admins |\n| address |\n|==================================================================================================| running test script...\nstopping [after applying creation operations.] press `return` to continue running test script...\nDone running test `Create`","breadcrumbs":"Running Tests » Creation","id":"14","title":"Creation"},"15":{"body":"Let's now add new_admin as a new administrator. Testcase addAdmin.techel only adds the following few instructions at the end of create.techel : # Retrieve the actual contract. CONTRACT (pair string (pair string address)) ; IF_NONE { PUSH string \"failed to retrieve `admins` contract\" ; STEP } {} ; # Saving the contract for later. DUP ; PUSH @amount mutez 0 ; # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; TRANSFER_TOKENS ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; What should the result of applying this transfer be? Remember than before adding an administrator, the contract checks that the sender is an admin. let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address)\n...\n= admin_check storage admin_name (Current.sender ()); ... So, if everything goes well, the transfer should fail: the sender here is not root , but the testcase. In techelson, the testcase currently running has its own address. It is in particular not the address of root . Hence, the transfer fails as it should and so does the whole testcase. The (relevant part of the) output is Test `AddAdmin` failed: Error operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) was expected to succeed but failed on operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) operation failed on \"illegal access to admin account\" : string You can see in the transfer the sender and the target of the transfer: TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins AddAdmin is the name of our testcase, and address[0]@AddAdmin is its address. Name \"root\" does not map to this address in the contract and the transfer fails.","breadcrumbs":"Running Tests » Transfer Failures","id":"15","title":"Transfer Failures"},"16":{"body":"Before getting into making this transfer work (next section), note that this (failing) testcase is actually useful. Or at least it should be: the transfer we are trying to make is illegal indeed. We do want the transfer to fail, but the testcase should succeed if the transfer does fail, fail if the transfer succeeds: anyone can add admins, which is bad . This is what the MUST_FAIL techelson extension does. It takes an operation wraps it in a construct telling techelson that this operation must fail: either the operation itself or, if it is a transfer, the operations created by this transfer. Here is its signature: instruction parameter stack MUST_FAIL :: option : operation : 'S -> operation : 'S Let's ignore the parameter and the first stack argument for now and just use this instruction right away. Testcase mustFail.techel is the same as addAdmin.techel except for a few lines after the transfer: TRANSFER_TOKENS ; PUSH (option string) None ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; The test now passes successfully: $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/mustFail.techel\nRunning test `MustFail` running test script... applying operation CREATE[uid:2] (@address[3]@admins, \"sha512:@contract_manager\", None, false, true, 0utz) \"Admins\" live contracts: none\n=> live contracts: Admins (0utz) address[3]@admins\napplying operation CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\napplying operation CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @this_must_fail |\n| MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) |\n| operation |\n|==================================================================================================| running test script... applying operation MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root => live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nDone running test `MustFail`","breadcrumbs":"Running Tests » Handling Failures","id":"16","title":"Handling Failures"},"17":{"body":"Now, MUST_FAIL (as it is used here) succeeds if the transfer ends in a tezos protocol failure. This include explicit failures in the code, illegal transfers due to insufficient funds, duplicate operations, etc. It does not include type-checking errors and internal techelson errors. This means in particular that if the transfer above fails for a reason different from \"illegal access to admin account\" then MUST_FAIL will consider the test a success. To make sure the cause for failure is actually the one we want, we must use MUST_FAIL 's optional stack parameter. A failure in michelson code always has a value of some type associated to it. In this case, the type of this value is string and its value is \"illegal access to admin account\" . Testcase preciseMustFail.techel only changes mustFail.techel to pass the failure value expected to MUST_FAIL : TRANSFER_TOKENS ; PUSH (option string) (Some \"illegal access to admin account\") ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; As a consequence, if the transfer fails with anything else than an explicit failure with a value of type string equal to \"illegal access to admin account\" , then the whole testcase will fail. Everything works fine here, and the output is $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/preciseMustFail.techel\nRunning test `PreciseMustFail` running test script... applying operation CREATE[uid:2] (@address[3]@admins, \"sha512:@contract_manager\", None, false, true, 0utz) \"Admins\" live contracts: none\n=> live contracts: Admins (0utz) address[3]@admins\napplying operation CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\napplying operation CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @this_must_fail |\n| MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) |\n| operation |\n|==================================================================================================| running test script... applying operation MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root => live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nDone running test `PreciseMustFail` Notice that the MUST_FAIL operation now mentions the value expected: MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] ...) as opposed to the _ wildcard from testcase mustFail.techel , which means no value was given: MUST_FAIL[uid:4] _ (TRANSFER[uid:3] ...)","breadcrumbs":"Running Tests » (More) Precise Failure Testing","id":"17","title":"(More) Precise Failure Testing"},"18":{"body":"The previous section used the liquidity contract admins.liq and its techelson version admins.tz . It showcased how to handle expected transfer failures and turn them into test objectives. The failure used to demonstrate the example was that we tried to add a new administrator by calling the contract from the testcase, which failed because only administrators can add other administrators, and the (address of the) testcase was not registered as such. PUSH @amount mutez 0 ; # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; TRANSFER_TOKENS ; PUSH (option string) (Some \"illegal access to admin account\") ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; DIP {NIL operation } ; CONS ; APPLY_OPERATIONS ; One solution would be to register the testcase directly, but it would be more natural and more generic to be able to apply a transfer as someone else. Hence the SET_SOURCE extension: instruction parameter stack SET_SOURCE code :: address : 'A -> 'B iff code :: [ A -> B ] Warning : the SET_SOURCE extension is only legal in testcases. This extension allows to pretend the testcase is a live contract or account from the environment. More precisely, all operations created in the code under the SET_SOURCE will have their source and sender be the address from the stack. Testcase setSource.techel uses this instruction to pretend that root is the one adding a new administrator. # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; { # Pretending to be `root`. DUUUUUUP ; PRINT_STACK ; STEP ; SET_SOURCE { TRANSFER_TOKENS } } ; PRINT_STACK ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS The testcase now succeeds, and its output is $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/setSource.techel\nRunning test `SetSource` running test script... applying operation CREATE[uid:2] (@address[3]@admins, \"sha512:@contract_manager\", None, false, true, 0utz) \"Admins\" live contracts: none\n=> live contracts: Admins (0utz) address[3]@admins\napplying operation CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\napplying operation CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @amount |\n| 0utz |\n| mutez |\n|--------------------------------------------------------------------------------------------------|\n| @storage |\n| (\"root\", (\"new_admin\", address[2]@new_admin)) |\n| (pair string (pair string address)) |\n|--------------------------------------------------------------------------------------------------|\n| address[1]@root |\n| address |\n|==================================================================================================| running test script...\nstopping [no information] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) |\n| operation |\n|==================================================================================================| running test script... applying operation TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root => live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nDone running test `SetSource` Notice how, in the last PRINT_STACK , the sender of the transfer is now root : TRANSFER[uid:3] address[1]@root -> address[3]@admins ...","breadcrumbs":"Running Tests » Usurpation of Identity","id":"18","title":"Usurpation of Identity"},"19":{"body":"Techelson has a test generation feature. It is relatively naive: the testcases it generates do not really take the semantics of your contract into account. Given a contract, it will generate a random storage for that contract and deploy it. Then, it will create a random number of transfers to that contract with random parameters. Note that while test generation is random, it is expected to be deterministic: the same test generation command on a contract should always generate the same test cases. It is naive in the sense that it can (and statistically will) generate testcases which are not successful. Still, this feature is useful to generate a testcase skeleton with random contract creation and transfers that you can edit to test the behavior of your contract.","breadcrumbs":"Test Generation","id":"19","title":"Test Generation"},"2":{"body":"Let us build a contract which counts how many time it was called. We will allow clients to specify that they do not want to be counted by passing a boolean ghost : if it is true, the contract will not count the transfer. Based on this description, we already have the storage and parameter types: storage nat;\nparameter bool; The code of this contract should perform the following steps: destroy the parameter/storage pair branch on the ghost parameter: this consumes the parameter, meaning the storage is now on the top of the stack do nothing if ghost is true: the storage is unchanged add 1 to the storage otherwise pair an empty list of operations with the new storage The complete description of the contract, simpleExample.tz , is thus storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n};","breadcrumbs":"Michelson » A Simple Example","id":"2","title":"A Simple Example"},"20":{"body":"Let's showcase testgeneration on simpleExample.tz : storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n}; Test generation is activated by passing to techelson a testgen argument triggering the test generation mode. You can read more about modes in the Usage section . First, let's generate a single testcase ( -n 1 , or --count 1 ) and let techelson run it: $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1\ndone generating test for contract SimpleExample\nRunning test `SimpleExampleTest1` running test script... applying operation CREATE[uid:0] (@address[1], \"blake2b:11a6ffbc9fb85\", None, false, false, 638557938255190utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (638557938255190utz) address[1] running test script... applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True live contracts: SimpleExample (638557938255190utz) address[1] running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True\n=> live contracts: SimpleExample (759142736525198utz) address[1] => live contracts: SimpleExample (759142736525198utz) address[1] running test script...\nDone running test `SimpleExampleTest1` While this can be useful for simple contracts, usually you want to retrieve the testcase directly so that you can modify it to suit your needs. So let's still generate one testcase but this time we will dump it in the current directory (trailing . in the techelson command). $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1 . ; echo ; echo \"testcase:\" ; echo ; cat SimpleExampleTest1.techel ; rm SimpleExampleTest1.techel\ndone generating test for contract SimpleExample\ndumping testcases to `.` testcase: { # deploying contract `SimpleExample` { # creating contract creation parameters { # creating storage for contract `SimpleExample` PUSH nat 807338681362247 ; # money transferred PUSH mutez 638557938255190 ; # delegatable PUSH bool False ; # spendable PUSH bool False ; # delegate NONE key_hash ; # manager { PUSH key \"11a6ffbc9fb85\" ; BLAKE2B } } ; CREATE_CONTRACT \"SimpleExample\" } ; # create a list of operations and apply { NIL operation ; SWAP ; CONS ; APPLY_OPERATIONS } ; # create transfer operation { DUP ; # retrieve contract from address, fail if none { CONTRACT bool ; IF_NONE { PUSH string \"unable to spawn contract `SimpleExample`\" ; FAILWITH } {} } ; PUSH mutez 120584798270008 ; PUSH bool True ; TRANSFER_TOKENS } ; # create a list of operations and apply { NIL operation ; SWAP ; CONS ; APPLY_OPERATIONS }\n}","breadcrumbs":"Test Generation » Example","id":"20","title":"Example"},"21":{"body":"This section provides a quick overview of some of techelson's features: list of all the extensions (brief) discussion on techelson's command-line usage These sections try to provide relatively raw, brief and crucial information about the features they discuss. They will usually point to the relevant sections of this book if you need more details.","breadcrumbs":"Quick Reference","id":"21","title":"Quick Reference"},"22":{"body":"Warning : the following instructions can only be used in contracts, not testcases : SENDER SOURCE Techelson testcases have access to an extended instruction set to ease the process of writing tests. See rsc/tests/ for more examples. Note that techelson treats #> as whitespace, so you can use extensions in contracts (when legal ) while keeping them pure michelson, like in the example below DIP { ... CONS ; #> PRINT_STACK ; #> STEP \"after list cons\" ; PUSH int 3 ; ...\n}","breadcrumbs":"Quick Reference » Extensions","id":"22","title":"Extensions"},"23":{"body":"The following instructions are legal in testcases and contracts : STEP and STEP : 'S -> 'S Relevant section of this book: First Steps . suspends the evaluator and prints a string, if any. PRINT_STACK : 'S -> 'S Relevant section of this book: First Steps . prints the current state of the stack","breadcrumbs":"Quick Reference » Unrestricted Extensions","id":"23","title":"Unrestricted Extensions"},"24":{"body":"The following instructions are only legal in testcases: CREATE_CONTRACT : :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S Relevant section of this book: Creating and Calling Contracts . Creates an instance of the contract named after the string parameter. The type of the storage of the contract must be 'g . SPAWN_CONTRACT 'g : :: string : key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S Relevant section of this book: Creating and Calling Contracts . Exactly the same as the CREATE_CONTRACT extension above but the name of the contract is passed as a stack parameter, and the type of the storage is an explicit parameter of the instruction. APPLY_OPERATIONS : (list operation) : 'S -> 'S Relevant section of this book: Creating and Calling Contracts . consumes a list of operations suspends the execution of the testcase applies all the operations in the list (these operations can create operations which will be applied too) resumes the execution of the testcase GET_STORAGE 'storage : contract _ : 'S -> (option 'storage) : 'S address : 'S -> (option 'storage) : 'S Relevant section of this book: Live Contract Inspection . consumes a contract pushes Some of the current value of the storage of the contract if its storage has type 'storage , None otherwise GET_BALANCE : contract _ : 'S -> mutez : 'S address : 'S -> mutez : 'S Relevant section of this book: Live Contract Inspection . Same as GET_STORAGE , but pushes the balance of the contract instead of its storage MUST_FAIL 'a : (option 'a) : operation : 'S -> 'S Relevant section of this book: Testing for Failures . Specifies that an operation (or the operation it creates recursively) must fail, and optionaly that it FAIL ed WITH a certain value. More precisely, the whole testcase will fail if the operation or the operations it creates recursively, when applied , either succeeds, or the (option 'a) parameter is (Some value) and the operation's failure was not caused by a FAILWITH on precisely value Note that if the optional value is NONE , then MUST_FAIL accepts any kind of protocol failure, not just FAILWITH . For instance, it will also accept creation/transfer operations that fail because of insufficient balance, because this precise operation already ran (it was DUP -ed), etc . SET_SOURCE code , with code :: [ 'A -> 'B ] address :: 'A -> 'B Relevant section of this book: Usurpation of Identity . Sets the source of the testcase. Without this extension, the source of all transfers can only be the testcase. This allows to run code while pretending the testcase is a different live contract.","breadcrumbs":"Quick Reference » Testcase-only Extensions","id":"24","title":"Testcase-only Extensions"},"25":{"body":"Warning : so-called contract initializers are mentioned in the --help but are not currently supported. The full list of options (for the nominal mode) is obtained with --help : $ techelson --help\nUSAGE: ../bin/techelson [OPTIONS] -- [FILES]* ../bin/techelson [OPTIONS] testgen [TESTGEN_OPTIONS] [-- DIR]? OPTIONS: -h, --help prints this help message -v, --verb ? increases or sets verbosity [default: 1] -q decreases verbosity -s, --step (on|true|True|no|off|false|False)? (de)activates step-by-step evaluation [default: false] --skip (on|true|True|no|off|false|False)? if true, all steps will automatically advance (and `--step` will be set to false) [default: false] --contract ',' ? adds a contract to the test environment. The second optional argument is the contract's initializer. MODES: testgen activates and controls test generation run `../bin/techelson --help` to obtain help on a specific mode. For example: `../bin/techelson testgen --help`","breadcrumbs":"Quick Reference » Command-Line Options","id":"25","title":"Command-Line Options"},"26":{"body":"Modes available: testgen : Test Generation Techelson's modes are triggered by simply passing the name of the mode as an argument. For instance, $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 2\ndone generating tests for contract SimpleExample\nRunning test `SimpleExampleTest1` running test script... applying operation CREATE[uid:0] (@address[1], \"blake2b:11a6ffbc9fb85\", None, false, false, 638557938255190utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (638557938255190utz) address[1] running test script... applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True live contracts: SimpleExample (638557938255190utz) address[1] running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True\n=> live contracts: SimpleExample (759142736525198utz) address[1] => live contracts: SimpleExample (759142736525198utz) address[1] running test script...\nDone running test `SimpleExampleTest1`\nRunning test `SimpleExampleTest2` running test script... applying operation CREATE[uid:0] (@address[3], \"blake2b:\", (Some \"blake2b:\"), true, true, 290035844265409utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (290035844265409utz) address[3] running test script... applying operation TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True live contracts: SimpleExample (290035844265409utz) address[3] running TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True\n=> live contracts: SimpleExample (810126422944596utz) address[3] => live contracts: SimpleExample (810126422944596utz) address[3] running test script... applying operation TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False live contracts: SimpleExample (810126422944596utz) address[3] running TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False\n=> live contracts: SimpleExample (1655160698449470utz) address[3] => live contracts: SimpleExample (1655160698449470utz) address[3] running test script...\nDone running test `SimpleExampleTest2` You can have techelson print the options for mode with techelson --help .","breadcrumbs":"Quick Reference » Modes","id":"26","title":"Modes"},"27":{"body":"Given a contract, this mode is in charge of generating a testcase automatically. The relevant chapter of this book is Test Generation . $ techelson testgen --help\nGenerates testcases for some contract(s). If a directory is provided, the testcases will\nbe dumped there. Otherwise techelson will just run the testcases it generated. USAGE: ../bin/techelson [OPTIONS] testgen [TESTGEN_OPTIONS] [-- DIR]? TESTGEN_OPTIONS: -h, --help prints this help message -n, --count sets the number of testcases to generate [default: 1]","breadcrumbs":"Quick Reference » Test Generation","id":"27","title":"Test Generation"},"3":{"body":"Interaction with techelson is currently file-based. There are two kinds of files techelson works with. Contract files are just plain michelson smart contract files, and testcase files are files containing a Michelson instruction, usually a sequence of instructions { } . Omitting options, running techelson looks like (the -- separator is optional): $ techelson \\ --contract .. --contract \\ -- ... Techelson will then run the testcases in sequence. All testcases will have access to all the contracts provided with --contract . For more information about command-line refer to the Usage section . This section builds on the small example from the Michelson section , and a slightly more involved example later on, to introduce techelson's workflow and its extended instruction set. First Steps shows how to run a simple testcase with no contract. Introduces PRINT_STACK and STEP . Creating and Calling Contracts discusses the contract environment and contract creation and transfers. Introduces APPLY_OPERATIONS . Live Contract Inspection deals with recovering the balance and the storage of live (deployed) contracts. Introduces GET_BALANCE and GET_STORAGE . Anonymous Contracts details how to create anonymous contracts. Transfers introduces the creation of transfers to a contract. Testing for Failures shows how to test that an operation fails and how. This section is the first to use the slightly more complex example admins.tz , and it's liquidity version admins.liq . Introduces MUST_FAIL . Usurpation of Identity illustrates how to have your testcases pretend they are a specific contract/account, and to create operations in their name. Introduces SET_SOURCE .","breadcrumbs":"Running Tests","id":"3","title":"Running Tests"},"4":{"body":"Let's give ourselves a testcase file test1.techel { PUSH string \"starting the test\" ;\n} This testcase does not use any contract. To run it, simply run $ techelson rsc/no_contract/okay/test1.techel\nRunning test `Test1` running test script...\nDone running test `Test1`","breadcrumbs":"Running Tests » First Steps","id":"4","title":"First Steps"},"5":{"body":"This is not very informative, which is why techelson provides extensions such as PRINT_STACK . This instruction prints the state of the stack in a readable way. For example, if we change the example above to test2.techel to { PUSH string \"starting the test\" ; PRINT_STACK\n} the output becomes $ techelson rsc/no_contract/okay/test2.techel\nRunning test `Test2` running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================| running test script...\nDone running test `Test2`","breadcrumbs":"Running Tests » Introspection","id":"5","title":"Introspection"},"6":{"body":"When you run a complex testcase or contract, it can be useful to have break point that stop the execution. This gives you time to read a PRINT_STACK before the next step is actually performed, make one step, read the state of the stack, etc. The STEP techelson extension allows to do just that. You can also provide a string that will be displayed when the STEP instruction is reached. The following example ( test3.techel ) showcases the STEP instruction: { PUSH string \"starting the test\" ; PRINT_STACK ; STEP \"just started the test\" ; # The description string is optional, see below. PUSH @not_important string \"a string with a variable name\" ; PRINT_STACK ; STEP ; # No description string. DROP ; PRINT_STACK ; STEP \"The string should be gone. Also, we're done.\"\n} Techelson will stop on all STEP instructions and ask you to press enter to keep going: $ techelson rsc/no_contract/okay/test3.techel\nRunning test `Test3` running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================| running test script...\nstopping [just started the test] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|--------------------------------------------------------------------------------------------------|\n| @not_important |\n| \"a string with a variable name\" |\n| string |\n|==================================================================================================| running test script...\nstopping [no information] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================| running test script...\nstopping [The string should be gone. Also, we're done.] press `return` to continue running test script...\nDone running test `Test3` Pro tip 1 : you can use PRINT_STACK and STEP in contracts too (see the extensions section for details). Also, techelson treats #> as a whitespace. Hence, your can have #> STEP ; and/or #> PRINT_STACK ; in your michelson contract, which lets you inspect it during tests. Your contract remains legal michelson thanks to the leading # which comments the command. Pro tip 2 : passing --skip on to techelson will skip (but still display) all the steps. The output of the commands reported in this book are all obtained by running techelson with --skip on .","breadcrumbs":"Running Tests » Steps","id":"6","title":"Steps"},"7":{"body":"When you pass a contract to techelson using techelson --contract ... , the contract becomes a named contract in the techelson environment. The name of the contract is the name of the file up to its first . character, with the first letter capitalized. So techelson \\ --contract my_contract.tz \\ --contract myContract.tz \\ --contract my.contract.tz \\ ... defines three named contracts: My_contract , MyContract and My . Note that the naming convention is the same for testcases, based on the testcase file. The name of a testcase might be used in techelson's output to provide information, but it has no practical use currently.","breadcrumbs":"Running Tests » Creating and Calling Contracts","id":"7","title":"Creating and Calling Contracts"},"8":{"body":"Techelson extends the CREATE_CONTRACT michelson instruction with the following rule instruction parameter stack CREATE_CONTRACT :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S where is the name of a contract with storage type 'g in the environment. The semantics of the stack parameters is the same as in michelson: manager, optional delegate, the two spendable and delegatable flags, and the balance and storage of the contract created. NB : techelson also provides the SPAWN_CONTRACT extension which takes the name of the contract on the stack. See techelson's Extensions for more details. Say we have the following contract in file simpleExample.tz . storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n}; We can craft a creation operation in file create1.techel as follows { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; PRINT_STACK ; STEP \"before creation\" ; CREATE_CONTRACT \"SimpleExample\" ; PRINT_STACK ; STEP \"after creation\" ;\n} This produces the following output $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create1.techel\nRunning test `Create1` running test script...\nstack:\n|==================================================================================================|\n| @storage |\n| 0 |\n| nat |\n|--------------------------------------------------------------------------------------------------|\n| @amount |\n| 3utz |\n| mutez |\n|--------------------------------------------------------------------------------------------------|\n| @delegatable |\n| True |\n| bool |\n|--------------------------------------------------------------------------------------------------|\n| @spendable |\n| True |\n| bool |\n|--------------------------------------------------------------------------------------------------|\n| @delegate |\n| None |\n| (option key_hash) |\n|--------------------------------------------------------------------------------------------------|\n| @manager |\n| \"sha512:manager address\" |\n| key_hash |\n|==================================================================================================| running test script...\nstopping [before creation] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| address[1] |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| CREATE[uid:0] (@address[1], \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" |\n| operation |\n|==================================================================================================| running test script...\nstopping [after creation] press `return` to continue running test script...\nDone running test `Create1`","breadcrumbs":"Running Tests » Named Contract Creation","id":"8","title":"Named Contract Creation"},"9":{"body":"Michelson operations (contract/account creation, transfers) cannot be applied directly in a michelson contract. Instead, a contract produces a list of operation which the tezos runtime applies after the contract is done running. A techelson test case needs to be able to apply operations however, which is why the APPLY_OPERATIONS extension exists. This instruction suspends the execution of the testcase to apply the list of operations on the top of the stack. When all these operations are done running, techelson resumes the execution of the testcase. Warning : this instruction is only legal in testcases, not in contracts. Consider testcase create2.techel : { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; DIP { NIL operation } ; CONS ; PRINT_STACK ; STEP \"operation is now in a list\" ; APPLY_OPERATIONS ; PRINT_STACK ; STEP \"testing that contract exists\" ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } { PUSH string \"success\" ; PRINT_STACK }\n} Running it yields $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create2.techel\nRunning test `Create2` running test script...\nstack:\n|==================================================================================================|\n| @main |\n| address[1]@main |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| [ CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" ] |\n| (list operation) |\n|==================================================================================================| running test script...\nstopping [operation is now in a list] press `return` to continue running test script... applying operation CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (3utz) address[1]@main running test script...\nstack:\n|==================================================================================================|\n| @main |\n| address[1]@main |\n| address |\n|==================================================================================================| running test script...\nstopping [testing that contract exists] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| \"success\" |\n| string |\n|==================================================================================================| running test script...\nDone running test `Create2` Notice the line Applying operations... . We could increase techelson's verbosity to obtain more information as to which contracts are deployed, but let's see how to inspect the state of a live (deployed) contract instead.","breadcrumbs":"Running Tests » Applying Operations","id":"9","title":"Applying Operations"}},"length":28,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"4":{"0":{"5":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"14":{"tf":3.7416573867739413},"15":{"tf":1.4142135623730951},"16":{"tf":4.898979485566356},"17":{"tf":4.898979485566356},"18":{"tf":5.0}}}}}},"1":{"0":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"5":{"8":{"4":{"7":{"9":{"8":{"2":{"7":{"0":{"0":{"0":{"8":{"df":1,"docs":{"20":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"6":{"5":{"5":{"1":{"6":{"0":{"6":{"9":{"8":{"4":{"4":{"9":{"4":{"7":{"0":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"25":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":2.0}}}}}},"9":{"0":{"0":{"3":{"5":{"8":{"4":{"4":{"2":{"6":{"5":{"4":{"0":{"9":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"26":{"tf":1.0},"6":{"tf":1.0}}},"3":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}}},"5":{"2":{"0":{"0":{"9":{"0":{"5":{"7":{"8":{"6":{"7":{"9":{"1":{"8":{"7":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"3":{"8":{"5":{"5":{"7":{"9":{"3":{"8":{"2":{"5":{"5":{"1":{"9":{"0":{"df":1,"docs":{"20":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.7320508075688772},"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"5":{"9":{"1":{"4":{"2":{"7":{"3":{"6":{"5":{"2":{"5":{"1":{"9":{"8":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"8":{"0":{"7":{"3":{"3":{"8":{"6":{"8":{"1":{"3":{"6":{"2":{"2":{"4":{"7":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"0":{"1":{"2":{"6":{"4":{"2":{"2":{"9":{"4":{"4":{"5":{"9":{"6":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"5":{"0":{"3":{"4":{"2":{"7":{"5":{"5":{"0":{"4":{"8":{"7":{"4":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"17":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"24":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"20":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"0":{"]":{"@":{"a":{"d":{"d":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"12":{"tf":2.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{"@":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":3.4641016151377544},"9":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":3.4641016151377544}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"20":{"tf":2.6457513110645907},"26":{"tf":2.6457513110645907},"8":{"tf":1.4142135623730951}}},"2":{"]":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"15":{"tf":1.4142135623730951},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":3.605551275463989}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"26":{"tf":2.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"]":{"@":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"15":{"tf":1.7320508075688772},"16":{"tf":3.605551275463989},"17":{"tf":3.605551275463989},"18":{"tf":4.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"26":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":4.0},"14":{"tf":3.605551275463989},"15":{"tf":3.1622776601683795},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"24":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.449489742783178}}}}}}},"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"18":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":6,"docs":{"13":{"tf":2.6457513110645907},"14":{"tf":3.605551275463989},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"17":{"tf":4.0},"18":{"tf":3.1622776601683795}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":3.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"18":{"tf":2.0}}}}}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"z":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"17":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":6,"docs":{"11":{"tf":2.449489742783178},"14":{"tf":2.0},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"3":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"20":{"tf":2.0},"24":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"26":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":2.0},"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"2":{"b":{":":{"1":{"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":6,"docs":{"0":{"tf":2.23606797749979},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0},"6":{"tf":1.0}}},"l":{"df":9,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"24":{"tf":2.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"c":{".":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"27":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"2":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":13,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":2.23606797749979},"16":{"tf":1.4142135623730951},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}},"x":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"17":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"(":{"df":1,"docs":{"27":{"tf":1.0}}},"/":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":26,"docs":{"0":{"tf":3.1622776601683795},"1":{"tf":3.3166247903554},"10":{"tf":4.58257569495584},"11":{"tf":4.69041575982343},"12":{"tf":3.872983346207417},"13":{"tf":2.449489742783178},"14":{"tf":3.4641016151377544},"15":{"tf":2.449489742783178},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":4.0},"19":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":4.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.7416573867739413},"25":{"tf":1.7320508075688772},"26":{"tf":3.872983346207417},"27":{"tf":1.0},"3":{"tf":3.872983346207417},"4":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":3.1622776601683795},"8":{"tf":2.449489742783178},"9":{"tf":3.872983346207417}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"8":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"13":{"tf":1.0},"14":{"tf":3.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"24":{"tf":2.6457513110645907},"3":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"0":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}},"2":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{")":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"9":{"tf":1.0}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"11":{"tf":1.0},"21":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"26":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"0":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"27":{"tf":1.0}}}},"p":{"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.7320508075688772}}}}},"d":{"df":1,"docs":{"24":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"c":{"df":4,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"23":{"tf":1.0},"25":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.0},"13":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"24":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":11,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":2.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.6457513110645907},"18":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"s":{"df":8,"docs":{"12":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"25":{"tf":1.0},"3":{"tf":2.449489742783178},"4":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"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":1,"docs":{"10":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":2,"docs":{"24":{"tf":2.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"0":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":3.0},"20":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.449489742783178}}}}},"t":{"_":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.0},"2":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"n":{"df":4,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":2,"docs":{"1":{"tf":1.0},"15":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":3,"docs":{"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.7320508075688772}}}},"n":{"c":{"df":4,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"18":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":2.8284271247461903},"18":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"3":{"tf":2.6457513110645907}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"t":{"'":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"24":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":2.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"%":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}}}}},"'":{"df":7,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"9":{"tf":1.0}}},"df":1,"docs":{"6":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"11":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"0":{"tf":2.0},"13":{"tf":2.0},"18":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"v":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.6457513110645907},"14":{"tf":2.449489742783178},"16":{"tf":3.0},"17":{"tf":3.0},"18":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":1.7320508075688772},"26":{"tf":3.605551275463989},"3":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"3":{"tf":1.0}}}},"w":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}},"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"p":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"13":{"tf":2.449489742783178},"14":{"tf":2.0},"15":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},"df":11,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":2.23606797749979},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":2.6457513110645907},"27":{"tf":1.0}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":11,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"4":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":2.0},"13":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":2.6457513110645907},"18":{"tf":2.449489742783178},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772}}}},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.8284271247461903},"12":{"tf":2.23606797749979},"2":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":4,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}},"n":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":14,"docs":{"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"14":{"tf":3.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":2.0},"18":{"tf":2.0},"20":{"tf":2.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0}}},"h":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"i":{"c":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"13":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"|":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":17,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.6457513110645907},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.0},"16":{"tf":3.3166247903554},"17":{"tf":2.6457513110645907},"18":{"tf":2.8284271247461903},"2":{"tf":2.0},"20":{"tf":3.1622776601683795},"24":{"tf":3.7416573867739413},"26":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":3.4641016151377544}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":2.6457513110645907},"25":{"tf":2.449489742783178},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.7320508075688772}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"24":{"tf":1.0},"27":{"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":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.4641016151377544},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"2":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"24":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.0},"6":{"tf":1.0},"7":{"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":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"6":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":17,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.4641016151377544},"12":{"tf":3.7416573867739413},"14":{"tf":3.7416573867739413},"15":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.449489742783178},"2":{"tf":1.0},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}},"q":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":2.23606797749979}}}}},"df":1,"docs":{"24":{"tf":1.0}}},"w":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}},"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951}}}}}},"l":{"df":3,"docs":{"12":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":7,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":2.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"20":{"tf":1.0}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":3.0},"15":{"tf":2.449489742783178},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":3.3166247903554}}}}},"s":{"c":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"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":{},"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":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"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":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"z":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"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":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":21,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":3.0},"11":{"tf":2.8284271247461903},"12":{"tf":3.3166247903554},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":3.0},"20":{"tf":2.6457513110645907},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":3.7416573867739413},"27":{"tf":1.0},"3":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.0},"6":{"tf":3.3166247903554},"8":{"tf":2.6457513110645907},"9":{"tf":3.4641016151377544}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.6457513110645907},"14":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}}}}}},"df":7,"docs":{"10":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":4.0},"25":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"3":{"tf":2.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"18":{"tf":2.23606797749979},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"h":{"a":{"5":{"1":{"2":{":":{"@":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"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":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":2.8284271247461903},"20":{"tf":3.3166247903554},"26":{"tf":3.7416573867739413},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"i":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"25":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"25":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":2.0},"25":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"r":{"a":{"df":0,"docs":{},"g":{"df":17,"docs":{"1":{"tf":2.449489742783178},"10":{"tf":3.1622776601683795},"11":{"tf":2.6457513110645907},"12":{"tf":2.449489742783178},"13":{"tf":4.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.0},"2":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":3.0},"3":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},".":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":3.4641016151377544},"14":{"tf":2.449489742783178},"15":{"tf":3.0},"16":{"tf":2.0},"17":{"tf":3.0},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"25":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":2.449489742783178},"20":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}},"df":1,"docs":{"0":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":22,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"a":{"df":0,"docs":{},"s":{"df":18,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.8284271247461903},"27":{"tf":2.23606797749979},"3":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"11":{"tf":1.0}}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":23,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":3.0},"11":{"tf":2.8284271247461903},"12":{"tf":3.1622776601683795},"13":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"17":{"tf":2.8284271247461903},"18":{"tf":3.0},"19":{"tf":2.449489742783178},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":3.605551275463989},"27":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"4":{"tf":2.0},"5":{"tf":2.449489742783178},"6":{"tf":4.0},"8":{"tf":2.6457513110645907},"9":{"tf":3.4641016151377544}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.4142135623730951}}}}}},"df":4,"docs":{"20":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"z":{"df":1,"docs":{"13":{"tf":1.0}},"o":{"df":4,"docs":{"0":{"tf":2.0},"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"p":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"1":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"26":{"tf":2.0}}},"2":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"3":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.23606797749979},"18":{"tf":2.0}}},"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":6,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}}}},"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":3.0},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.8284271247461903},"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"9":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.8284271247461903},"14":{"tf":3.4641016151377544},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":6,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":3.1622776601683795},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}},"df":13,"docs":{"0":{"tf":2.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":3,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"17":{"tf":2.6457513110645907},"24":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"25":{"tf":1.0}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"22":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"breadcrumbs":{"root":{"0":{".":{"4":{"0":{"5":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"14":{"tf":3.7416573867739413},"15":{"tf":1.4142135623730951},"16":{"tf":4.898979485566356},"17":{"tf":4.898979485566356},"18":{"tf":5.0}}}}}},"1":{"0":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"5":{"8":{"4":{"7":{"9":{"8":{"2":{"7":{"0":{"0":{"0":{"8":{"df":1,"docs":{"20":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"6":{"5":{"5":{"1":{"6":{"0":{"6":{"9":{"8":{"4":{"4":{"9":{"4":{"7":{"0":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"25":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":2.0}}}}}},"9":{"0":{"0":{"3":{"5":{"8":{"4":{"4":{"2":{"6":{"5":{"4":{"0":{"9":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"26":{"tf":1.0},"6":{"tf":1.0}}},"3":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}}},"5":{"2":{"0":{"0":{"9":{"0":{"5":{"7":{"8":{"6":{"7":{"9":{"1":{"8":{"7":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"3":{"8":{"5":{"5":{"7":{"9":{"3":{"8":{"2":{"5":{"5":{"1":{"9":{"0":{"df":1,"docs":{"20":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.7320508075688772},"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"5":{"9":{"1":{"4":{"2":{"7":{"3":{"6":{"5":{"2":{"5":{"1":{"9":{"8":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"8":{"0":{"7":{"3":{"3":{"8":{"6":{"8":{"1":{"3":{"6":{"2":{"2":{"4":{"7":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"0":{"1":{"2":{"6":{"4":{"2":{"2":{"9":{"4":{"4":{"5":{"9":{"6":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"5":{"0":{"3":{"4":{"2":{"7":{"5":{"5":{"0":{"4":{"8":{"7":{"4":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"17":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"24":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"20":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"0":{"]":{"@":{"a":{"d":{"d":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"12":{"tf":2.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{"@":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":3.4641016151377544},"9":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":3.4641016151377544}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"20":{"tf":2.6457513110645907},"26":{"tf":2.6457513110645907},"8":{"tf":1.4142135623730951}}},"2":{"]":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"15":{"tf":1.4142135623730951},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":3.605551275463989}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"26":{"tf":2.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"]":{"@":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"15":{"tf":1.7320508075688772},"16":{"tf":3.605551275463989},"17":{"tf":3.605551275463989},"18":{"tf":4.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"26":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":4.0},"14":{"tf":3.605551275463989},"15":{"tf":3.1622776601683795},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"24":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.449489742783178}}}}}}},"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"18":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":6,"docs":{"13":{"tf":2.6457513110645907},"14":{"tf":3.605551275463989},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"17":{"tf":4.0},"18":{"tf":3.1622776601683795}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":3.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"18":{"tf":2.0}}}}}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"z":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"17":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":6,"docs":{"11":{"tf":2.6457513110645907},"14":{"tf":2.0},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"3":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"20":{"tf":2.0},"24":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"9":{"tf":2.8284271247461903}}},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"26":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":2.0},"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"2":{"b":{":":{"1":{"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":6,"docs":{"0":{"tf":2.23606797749979},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0},"6":{"tf":1.0}}},"l":{"df":9,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"24":{"tf":2.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"c":{".":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"27":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"2":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":13,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":2.23606797749979},"16":{"tf":1.4142135623730951},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}},"x":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"17":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"(":{"df":1,"docs":{"27":{"tf":1.0}}},"/":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":26,"docs":{"0":{"tf":3.1622776601683795},"1":{"tf":3.3166247903554},"10":{"tf":4.69041575982343},"11":{"tf":4.795831523312719},"12":{"tf":3.872983346207417},"13":{"tf":2.449489742783178},"14":{"tf":3.4641016151377544},"15":{"tf":2.449489742783178},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":4.0},"19":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":4.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.7416573867739413},"25":{"tf":1.7320508075688772},"26":{"tf":3.872983346207417},"27":{"tf":1.0},"3":{"tf":3.872983346207417},"4":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":3.3166247903554},"8":{"tf":2.6457513110645907},"9":{"tf":3.872983346207417}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"8":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"13":{"tf":1.0},"14":{"tf":3.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"24":{"tf":2.6457513110645907},"3":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"0":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}},"2":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":2.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"8":{"tf":2.6457513110645907},"9":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{")":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"9":{"tf":1.0}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"11":{"tf":1.0},"21":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"26":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"0":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"27":{"tf":1.0}}}},"p":{"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.7320508075688772}}}}},"d":{"df":1,"docs":{"24":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"c":{"df":4,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"23":{"tf":1.0},"25":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.0},"13":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"24":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":11,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":2.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"s":{"df":8,"docs":{"12":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"25":{"tf":1.0},"3":{"tf":2.449489742783178},"4":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"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":1,"docs":{"10":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":2,"docs":{"24":{"tf":2.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"0":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":3.1622776601683795},"20":{"tf":2.6457513110645907},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.6457513110645907}}}}},"t":{"_":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.0},"2":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"n":{"df":4,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":2,"docs":{"1":{"tf":1.0},"15":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":3,"docs":{"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.7320508075688772}}}},"n":{"c":{"df":4,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"18":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":2.8284271247461903},"18":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"3":{"tf":2.6457513110645907}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"t":{"'":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"24":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":2.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"%":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}}}}},"'":{"df":7,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"9":{"tf":1.0}}},"df":1,"docs":{"6":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"11":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"3":{"tf":1.0},"9":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"0":{"tf":2.0},"13":{"tf":2.0},"18":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"v":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.6457513110645907},"14":{"tf":2.449489742783178},"16":{"tf":3.0},"17":{"tf":3.0},"18":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":1.7320508075688772},"26":{"tf":3.605551275463989},"3":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"3":{"tf":1.0}}}},"w":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}},"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"p":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"13":{"tf":2.449489742783178},"14":{"tf":2.0},"15":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},"df":12,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":2.449489742783178},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":2.8284271247461903},"27":{"tf":1.0}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":11,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"4":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":2.0},"13":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":2.6457513110645907},"18":{"tf":2.449489742783178},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":2.0}}}},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.8284271247461903},"12":{"tf":2.23606797749979},"2":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":4,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}},"n":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":14,"docs":{"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"14":{"tf":3.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":2.0},"18":{"tf":2.0},"20":{"tf":2.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0}}},"h":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"i":{"c":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"13":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"|":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":17,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.6457513110645907},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.0},"16":{"tf":3.3166247903554},"17":{"tf":2.6457513110645907},"18":{"tf":2.8284271247461903},"2":{"tf":2.0},"20":{"tf":3.1622776601683795},"24":{"tf":3.7416573867739413},"26":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":3.605551275463989}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":2.6457513110645907},"25":{"tf":2.6457513110645907},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.7320508075688772}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"24":{"tf":1.0},"27":{"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":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.4641016151377544},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"2":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"24":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.0},"6":{"tf":1.0},"7":{"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":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"6":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":17,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.4641016151377544},"12":{"tf":3.7416573867739413},"14":{"tf":3.7416573867739413},"15":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.449489742783178},"2":{"tf":1.0},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}},"q":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":8,"docs":{"0":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":2.23606797749979}}}}},"df":1,"docs":{"24":{"tf":1.0}}},"w":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}},"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951}}}}}},"l":{"df":3,"docs":{"12":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":7,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":2.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"20":{"tf":1.0}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":3.0},"15":{"tf":2.449489742783178},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":3.3166247903554}}}}},"s":{"c":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"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":{},"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":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"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":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"z":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"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":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":23,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":3.1622776601683795},"11":{"tf":3.0},"12":{"tf":3.4641016151377544},"13":{"tf":1.0},"14":{"tf":3.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":3.1622776601683795},"20":{"tf":2.6457513110645907},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":3.7416573867739413},"27":{"tf":1.0},"3":{"tf":2.23606797749979},"4":{"tf":2.449489742783178},"5":{"tf":2.23606797749979},"6":{"tf":3.4641016151377544},"7":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":3.605551275463989}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.6457513110645907},"14":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}}}}}},"df":7,"docs":{"10":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":4.0},"25":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"3":{"tf":2.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"18":{"tf":2.23606797749979},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"h":{"a":{"5":{"1":{"2":{":":{"@":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"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":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":2.8284271247461903},"20":{"tf":3.3166247903554},"26":{"tf":3.7416573867739413},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"i":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"25":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"25":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":2.0},"25":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"6":{"tf":3.7416573867739413},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"r":{"a":{"df":0,"docs":{},"g":{"df":17,"docs":{"1":{"tf":2.449489742783178},"10":{"tf":3.1622776601683795},"11":{"tf":2.6457513110645907},"12":{"tf":2.449489742783178},"13":{"tf":4.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.0},"2":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":3.0},"3":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},".":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":3.4641016151377544},"14":{"tf":2.449489742783178},"15":{"tf":3.0},"16":{"tf":2.0},"17":{"tf":3.0},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"25":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":2.449489742783178},"20":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}},"df":1,"docs":{"0":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":22,"docs":{"0":{"tf":3.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"a":{"df":0,"docs":{},"s":{"df":18,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.0},"27":{"tf":2.23606797749979},"3":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"11":{"tf":1.0}}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":24,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":3.1622776601683795},"11":{"tf":3.0},"12":{"tf":3.3166247903554},"13":{"tf":2.0},"14":{"tf":3.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"19":{"tf":2.6457513110645907},"20":{"tf":3.1622776601683795},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":3.605551275463989},"27":{"tf":1.7320508075688772},"3":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.6457513110645907},"6":{"tf":4.123105625617661},"7":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":3.605551275463989}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.4142135623730951}}}}}},"df":4,"docs":{"20":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"z":{"df":1,"docs":{"13":{"tf":1.0}},"o":{"df":4,"docs":{"0":{"tf":2.0},"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"p":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"1":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"26":{"tf":2.0}}},"2":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"3":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.23606797749979},"18":{"tf":2.0}}},"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":6,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}}}},"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":3.1622776601683795},"13":{"tf":1.0},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"9":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.8284271247461903},"14":{"tf":3.4641016151377544},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":6,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":3.1622776601683795},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}},"df":13,"docs":{"0":{"tf":2.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":3,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"17":{"tf":2.6457513110645907},"24":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"25":{"tf":1.0}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"22":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"8":{"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":{"2":{"tf":1.0},"20":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0}}}}}}}},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"25":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"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":{"21":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"4":{"tf":1.0},"6":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"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/docs/user_doc/searchindex.json b/docs/user_doc/searchindex.json index 9637ce2..8278431 100644 --- a/docs/user_doc/searchindex.json +++ b/docs/user_doc/searchindex.json @@ -1 +1 @@ -{"doc_urls":["index.html#techelson","michelson/index.html#michelson","michelson/simple_example.html#a-simple-example","testing/index.html#running-tests","testing/basic.html#first-steps","testing/basic.html#introspection","testing/basic.html#steps","testing/contracts.html#creating-and-calling-contracts","testing/contracts.html#named-contract-creation","testing/contracts.html#applying-operations","testing/inspection.html#live-contract-inspection","testing/anonymous.html#anonymous-contracts","testing/transfers.html#transfers","testing/failures.html#testing-for-failures","testing/failures.html#creation","testing/failures.html#transfer-failures","testing/failures.html#handling-failures","testing/failures.html#more-precise-failure-testing","testing/set_source.html#usurpation-of-identity","testgen/index.html#test-generation","testgen/example.html#example","quick_ref/index.html#quick-reference","quick_ref/extensions.html#extensions","quick_ref/extensions.html#unrestricted-extensions","quick_ref/extensions.html#testcase-only-extensions","quick_ref/usage.html#command-line-options","quick_ref/usage.html#modes","quick_ref/usage.html#test-generation"],"index":{"documentStore":{"docInfo":{"0":{"body":182,"breadcrumbs":1,"title":1},"1":{"body":131,"breadcrumbs":1,"title":1},"10":{"body":222,"breadcrumbs":5,"title":3},"11":{"body":225,"breadcrumbs":4,"title":2},"12":{"body":230,"breadcrumbs":3,"title":1},"13":{"body":235,"breadcrumbs":4,"title":2},"14":{"body":280,"breadcrumbs":3,"title":1},"15":{"body":190,"breadcrumbs":4,"title":2},"16":{"body":150,"breadcrumbs":4,"title":2},"17":{"body":201,"breadcrumbs":6,"title":4},"18":{"body":282,"breadcrumbs":4,"title":2},"19":{"body":63,"breadcrumbs":2,"title":2},"2":{"body":96,"breadcrumbs":3,"title":2},"20":{"body":222,"breadcrumbs":3,"title":1},"21":{"body":32,"breadcrumbs":2,"title":2},"22":{"body":44,"breadcrumbs":3,"title":1},"23":{"body":31,"breadcrumbs":4,"title":2},"24":{"body":241,"breadcrumbs":4,"title":2},"25":{"body":93,"breadcrumbs":5,"title":3},"26":{"body":90,"breadcrumbs":3,"title":1},"27":{"body":48,"breadcrumbs":4,"title":2},"3":{"body":151,"breadcrumbs":2,"title":2},"4":{"body":28,"breadcrumbs":4,"title":2},"5":{"body":44,"breadcrumbs":3,"title":1},"6":{"body":196,"breadcrumbs":3,"title":1},"7":{"body":54,"breadcrumbs":5,"title":3},"8":{"body":208,"breadcrumbs":5,"title":3},"9":{"body":216,"breadcrumbs":4,"title":2}},"docs":{"0":{"body":"Techelson is a T est E xecution E nvironment (TEE) for Michelson smart contracts . Michelson is the stack-based language used by the tezos blockchain . Techelson is open source and hosted on github , where you can find the build instructions. Techelson emulates just enough of the tezos blockchain protocol to be able to create smart contracts and make transfers between contracts. Currently, techelson only aims at testing functional properties of smart contracts. In particular, it does not provide any information about the gas or burn of transfers/contracts. This is because computing the burn , and especially the gas of a transfer is rather complex and would require techelson to drop some of the abstractions it makes over the tezos protocol to run tests faster. Techelson can be used either as a command-line tool or as an OCaml library. This book focuses on the former use case. Also, this book assumes the reader is fairly familiar with the michelson language. We will discuss what a contract is and how it behaves, but the reader should know what michelson types and instructions look like, and their semantics. Michelson is a fairly low-level language which makes it difficult to discuss complex contracts. This book will sometimes give contracts as Liquidity contracts. Liquidity is a higher-level, OCaml-like language for tezos smart contracts which compiles to Michelson. NB : if you are a Liquidity user, you should probably take a look at this blog post on how to write tests directly in Liquidity, and run these tests using Techelson. The chapters of this book are Michelson , provides a very brief introduction to michelson smart contracts. Running Tests , describes techelson's workflow for running tests through examples. Test Generation , discusses techelson's test generation features. Quick Reference , quick reminders of techelson's features, such as extensions. All examples in this book are available in the rsc directory of the github repository .","breadcrumbs":"Techelson","id":"0","title":"Techelson"},"1":{"body":"Michelson is the stack-based, strongly typed, low-level language supported by the tezos blockchain for smart contracts. We only provide a brief description of michelson here, and refer the reader to the official documentation for more details. A michelson contract is similar to transition system. The storage of a contract is its current state; the entry point ( code ) of a contract is a function which takes some tezos tokens (of type mutez ), the current storage of the contract, and a parameter of a certain type provided by the client of the contract. It returns a list of operations (contract/account creation, transfers, etc. ), and the new storage of the contract. In practice, a contract looks as follows: storage ;\nparameter ;\ncode ; Note that tokens are passed implicitely: they are credited to the contract before it starts running (although the amount of the transfer can be accessed with the AMOUNT instruction). Hence the code of the contract takes two parameters, which are aggregated in a pair (parameter, storage) . The same goes with the operations and the new storage returned by the contract, which are returned as a pair (operations, new_storage) . In the stack-based context of michelson, \"takes as argument\" means \"starts with a stack containing \". Likewise, \"returns \" here means \"leaves on the stack at the end (and nothing else than )\".","breadcrumbs":"Michelson","id":"1","title":"Michelson"},"10":{"body":"Michelson smart contracts cannot access each other's storage. They can only interact through transfers, during which the client of the contract provides a parameter that the contract runs its code on. As a test framework, techelson provides inspection instructions which give access to the balance and the storage of a live (deployed) contract. Both consume a contract from the top of the stack. instruction parameter stack GET_STORAGE 'storage :: contract _ : 'S or :: address : 'S -> (option 'storage) : 'S GET_BALANCE none :: contract _ : 'S or :: address : 'S -> mutez : 'S Let's extend the previous example to inspection.techel which checks that the balance and storage of the contract deployed are correct. { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } {} ; DUP ; GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 3 ; IFCMPNEQ { PUSH string \"balance should be 3utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 0 ; IFCMPNEQ { PUSH string \"storage should be 0 (nat)\" ; FAILWITH } {} ; }\n} The testcase does not fail and produces the output $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/inspection.techel\nRunning test `Inspection`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 3utz |\n| mutez |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the balance of the contract] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| 0 |\n| nat |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the storage of the contract] press `return` to continue Running test script...\nDone running test `Inspection`","breadcrumbs":"Running Tests » Live Contract Inspection","id":"10","title":"Live Contract Inspection"},"11":{"body":"Techelson accepts contracts through its --contract option. These contracts are named as discussed in Creating and Calling Contracts . Contracts defined at michelson level in testcases and contracts however are considered anonymous . Anonymous contracts can also be deployed and inspected. In fact, they are not really different from named contracts apart from their lack of name, which (currently) prevent techelson from mentioning where they really come from in its debug output. The following anonymous.techel testcase is similar to the one from the Live Contract Inspection except that the contract deployed is not given to the environment, it is inlined in the testcase. { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op { storage nat; parameter bool; code { UNPAIR ; IF { } { PUSH nat 1; ADD } ; NIL operation ; PAIR }; } ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } {} ; DUP ; GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 3 ; IFCMPNEQ { PUSH string \"balance should be 3utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 0 ; IFCMPNEQ { PUSH string \"storage should be 0 (nat)\" ; FAILWITH } {} ; }\n} This produces the exact same output (modulo the testcase's name, and as long as we do not increase verbosity) as for inspection.techel : $ techelson rsc/no_contract/okay/anonymous.techel\nRunning test `Anonymous`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 3utz |\n| mutez |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the balance of the contract] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| 0 |\n| nat |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the storage of the contract] press `return` to continue Running test script...\nDone running test `Anonymous`","breadcrumbs":"Running Tests » Anonymous Contracts","id":"11","title":"Anonymous Contracts"},"12":{"body":"At this point creating and applying a transfer should be relatively straightforward. Simply create the operation using michelson's TRANSFER_TOKENS , and apply it with APPLY_OPERATIONS . For instance, transfer.techel builds on inspection.techel . It creates an instance of simpleExample.tz , and creates and applies two operations: the first transfers 7 tokens with a parameter equal to False , and the second transfers 13 tokens with True . (Remember that simpleExample.tz will count transfers for which the parameter is False .) { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; ... # Omitting code creating the contract. { # Making a non-ghost transfer. DUP ; PUSH @amount mutez 7 ; PUSH @ghost bool False ; TRANSFER_TOKENS ; } ; DIP { # Making a ghost transfer. DUP ; PUSH @amount mutez 13 ; PUSH @ghost bool True ; TRANSFER_TOKENS ; } ; { # Creating the list of all operations. DIP { DIP {NIL operation } ; CONS } ; CONS ; } ; APPLY_OPERATIONS ; Finally, it checks that the balance and storage are the ones expected: GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 23 ; IFCMPNEQ { PUSH string \"balance should be 23utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 1 ; IFCMPNEQ { PUSH string \"storage should be 1 (nat)\" ; FAILWITH } {} ; }\n} The test passes and its output is $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/transfer.techel\nRunning test `Transfer`\nRunning test script... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 23utz |\n| mutez |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the balance of the contract] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| 1 |\n| nat |\n|==================================================================================================|\nRunning test script...\nstopping [retrieved the storage of the contract] press `return` to continue Running test script...\nDone running test `Transfer`","breadcrumbs":"Running Tests » Transfers","id":"12","title":"Transfers"},"13":{"body":"This section is going to use a slightly more complex contract in order to showcase failures and how to test them. Even if you are not familiar with liquidity , the contract's code will most likely be more readable in liquidity than in michelson. Here is the liquidity version, admins.liq : [%%version 0.405] type storage = { admins : (string, address) map ; (* Unused in this example. *) nus : (string, (address * tez * UnitContract.instance)) map ;\n} let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address) (storage : storage) : operation list * storage = admin_check storage admin_name (Current.sender ()); let storage = storage.admins <- Map.update nu_name (Some nu_address) storage.admins in [], storage Note that the clients field of the storage is unused in this example. The admins map maps administrator names to addresses. The only entry point (in this example) is add_admin which allows administrators to add new administrators by registering their name and their address. More precisely, calling this contract is only legal if the SENDER ( Current.sender () ) of the call is an administrator ( c.f. admin_check ). If the call to the contract is not legal, the transfer fails: let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" The parameters of the entry point are admin_name : name associated with the SENDER administrator, nu_name : name of the new administrator to add, nu_address : the address of the new administrator. let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address) Using liquidity to compile the contract to michelson (for instance using liquidity's online editor ), we obtain admins.tz . Here are the storage and parameter types: parameter (pair string (pair string address));\nstorage (pair :storage (map %admins string address) (map %clients string (pair address (pair mutez (contract :UnitContract unit))))); We omit the contract's code ( admins.tz ) as i) it is not very readable and ii) we do not need to know what the code precisely is to create the contract and call it, as long as we know the storage and parameter types.","breadcrumbs":"Running Tests » Testing for Failures","id":"13","title":"Testing for Failures"},"14":{"body":"Creating a contract has been covered in previous sections, so let's give ourselves some code to create the contract with one administrator called root . In fact, let's make an account for root and register it as an administrator. The new administrator new_admin is also deployed as an account. Testcase create.techel does exactly that: { NIL operation ; { # Create an account for `root`. PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@root_manager\" ; SHA512 ; CREATE_ACCOUNT @root ; } ; SWAP ; DIP { CONS } ; { # Create an account for `new_admin`. PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@new_admin_manager\" ; SHA512 ; CREATE_ACCOUNT @new_admin ; } ; SWAP ; DIP { SWAP ; DIP CONS } ; { # Create an `admins` contract. # Create the storage's (empty) `clients` field. EMPTY_MAP @clients string (pair address (pair mutez (contract unit))) ; # Create the storage's `admins` field and register `root`. EMPTY_MAP @admins string address ; DUUUUP ; # Retrieve root's address. SOME @address ; PUSH @name string \"root\" ; PRINT_STACK ; UPDATE ; PAIR @storage ; PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @spendable bool False ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@contract_manager\" ; SHA512 ; CREATE_CONTRACT @admins \"Admins\" } ; SWAP ; DIP { SWAP ; DIP { SWAP ; DIP CONS } } ; DIIIP { APPLY_OPERATIONS } ; PRINT_STACK ; STEP \"after applying creation operations.\"\n} Running this test produces the following output $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/create.techel\nRunning test `Create`\nRunning test script...\nstack:\n|==================================================================================================|\n| [ CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code { DROP ; UNIT ; NIL operation ; PAIR } ; }, CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code { DROP ; UNIT ; NIL operation ; PAIR } ; } ] |\n| (list operation) |\n|--------------------------------------------------------------------------------------------------|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @clients |\n| Map { } |\n| (map string (pair address (pair mutez (contract unit)))) |\n|--------------------------------------------------------------------------------------------------|\n| @admins |\n| Map { } |\n| (map string address) |\n|--------------------------------------------------------------------------------------------------|\n| @address |\n| (Some address[1]@root) |\n| (option address) |\n|--------------------------------------------------------------------------------------------------|\n| @name |\n| \"root\" |\n| string |\n|==================================================================================================|\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @admins |\n| address[3]@admins |\n| address |\n|==================================================================================================|\nRunning test script...\nstopping [after applying creation operations.] press `return` to continue Running test script...\nDone running test `Create`","breadcrumbs":"Running Tests » Creation","id":"14","title":"Creation"},"15":{"body":"Let's now add new_admin as a new administrator. Testcase addAdmin.techel only adds the following few instructions at the end of create.techel : # Retrieve the actual contract. CONTRACT (pair string (pair string address)) ; IF_NONE { PUSH string \"failed to retrieve `admins` contract\" ; STEP } {} ; # Saving the contract for later. DUP ; PUSH @amount mutez 0 ; # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; TRANSFER_TOKENS ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; What should the result of applying this transfer be? Remember than before adding an administrator, the contract checks that the sender is an admin. let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address)\n...\n= admin_check storage admin_name (Current.sender ()); ... So, if everything goes well, the transfer should fail: the sender here is not root , but the testcase. In techelson, the testcase currently running has its own address. It is in particular not the address of root . Hence, the transfer fails as it should and so does the whole testcase. The (relevant part of the) output is Applying Operations...\nTest `AddAdmin` failed: Error operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) was expected to succeed but failed on operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) operation failed on \"illegal access to admin account\" : string\nError You can see in the transfer the sender and the target of the transfer: TRANSFER[uid:3] address[0]@Create2 -> address[3]@admins Create2 is the name of our testcase, and address[0]@Create2 is its address. Name \"root\" does not map to this address in the contract and the transfer fails.","breadcrumbs":"Running Tests » Transfer Failures","id":"15","title":"Transfer Failures"},"16":{"body":"Before getting into making this transfer work (next section), note that this (failing) testcase is actually useful. Or at least it should be: the transfer we are trying to make is illegal indeed. We do want the transfer to fail, but the testcase should succeed if the transfer does fail, fail if the transfer succeeds: anyone can add admins, which is bad . This is what the MUST_FAIL techelson extension does. It takes an operation wraps it in a construct telling techelson that this operation must fail: either the operation itself or, if it is a transfer, the operations created by this transfer. Here is its signature: instruction parameter stack MUST_FAIL :: option : operation : 'S -> operation : 'S Let's ignore the parameter and the first stack argument for now and just use this instruction right away. Testcase mustFail.techel is the same as addAdmin.techel except for a few lines after the transfer: TRANSFER_TOKENS ; PUSH (option string) None ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; The test now passes successfully: $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/mustFail.techel\nRunning test `MustFail`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @this_must_fail |\n| MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) |\n| operation |\n|==================================================================================================|\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `MustFail`","breadcrumbs":"Running Tests » Handling Failures","id":"16","title":"Handling Failures"},"17":{"body":"Now, MUST_FAIL (as it is used here) succeeds if the transfer ends in a tezos protocol failure. This include explicit failures in the code, illegal transfers due to insufficient funds, duplicate operations, etc. It does not include type-checking errors and internal techelson errors. This means in particular that if the transfer above fails for a reason different from \"illegal access to admin account\" then MUST_FAIL will consider the test a success. To make sure the cause for failure is actually the one we want, we must use MUST_FAIL 's optional stack parameter. A failure in michelson code always has a value of some type associated to it. In this case, the type of this value is string and its value is \"illegal access to admin account\" . Testcase preciseMustFail.techel only changes mustFail.techel to pass the failure value expected to MUST_FAIL : TRANSFER_TOKENS ; PUSH (option string) (Some \"illegal access to admin account\") ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; As a consequence, if the transfer fails with anything else than an explicit failure with a value of type string equal to \"illegal access to admin account\" , then the whole testcase will fail. Everything works fine here, and the output is $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/preciseMustFail.techel\nRunning test `PreciseMustFail`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @this_must_fail |\n| MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) |\n| operation |\n|==================================================================================================|\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `PreciseMustFail` Notice that the MUST_FAIL operation now mentions the value expected: MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] ...) as opposed to the _ wildcard from testcase mustFail.techel , which means no value was given: MUST_FAIL[uid:4] _ (TRANSFER[uid:3] ...)","breadcrumbs":"Running Tests » (More) Precise Failure Testing","id":"17","title":"(More) Precise Failure Testing"},"18":{"body":"The previous section used the liquidity contract admins.liq and its techelson version admins.tz . It showcased how to handle expected transfer failures and turn them into test objectives. The failure used to demonstrate the example was that we tried to add a new administrator by calling the contract from the testcase, which failed because only administrators can add other administrators, and the (address of the) testcase was not registered as such. PUSH @amount mutez 0 ; # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; TRANSFER_TOKENS ; PUSH (option string) (Some \"illegal access to admin account\") ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; DIP {NIL operation } ; CONS ; APPLY_OPERATIONS ; One solution would be to register the testcase directly, but it would be more natural and more generic to be able to apply a transfer as someone else. Hence the SET_SOURCE extension: instruction parameter stack SET_SOURCE code :: address : 'A -> 'B iff code :: [ A -> B ] Warning : the SET_SOURCE extension is only legal in testcases. This extension allows to pretend the testcase is a live contract or account from the environment. More precisely, all operations created in the code under the SET_SOURCE will have their source and sender be the address from the stack. Testcase setSource.techel uses this instruction to pretend that root is the one adding a new administrator. # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; { # Pretending to be `root`. DUUUUUUP ; PRINT_STACK ; STEP ; SET_SOURCE { TRANSFER_TOKENS } } ; PRINT_STACK ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS The testcase now succeeds, and its output is $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/setSource.techel\nRunning test `SetSource`\nRunning test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @amount |\n| 0utz |\n| mutez |\n|--------------------------------------------------------------------------------------------------|\n| @storage |\n| (\"root\", (\"new_admin\", address[2]@new_admin)) |\n| (pair string (pair string address)) |\n|--------------------------------------------------------------------------------------------------|\n| address[1]@root |\n| address |\n|==================================================================================================|\nRunning test script...\nstopping [no information] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) |\n| operation |\n|==================================================================================================|\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `SetSource` Notice how, in the last PRINT_STACK , the sender of the transfer is now root : TRANSFER[uid:3] address[1]@root -> address[3]@admins ...","breadcrumbs":"Running Tests » Usurpation of Identity","id":"18","title":"Usurpation of Identity"},"19":{"body":"Techelson has a test generation feature. It is relatively naive: the testcases it generates do not really take the semantics of your contract into account. Given a contract, it will generate a random storage for that contract and deploy it. Then, it will create a random number of transfers to that contract with random parameters. Note that while test generation is random, it is expected to be deterministic: the same test generation command on a contract should always generate the same test cases. It is naive in the sense that it can (and statistically will) generate testcases which are not successful. Still, this feature is useful to generate a testcase skeleton with random contract creation and transfers that you can edit to test the behavior of your contract.","breadcrumbs":"Test Generation","id":"19","title":"Test Generation"},"2":{"body":"Let us build a contract which counts how many time it was called. We will allow clients to specify that they do not want to be counted by passing a boolean ghost : if it is true, the contract will not count the transfer. Based on this description, we already have the storage and parameter types: storage nat;\nparameter bool; The code of this contract should perform the following steps: destroy the parameter/storage pair branch on the ghost parameter: this consumes the parameter, meaning the storage is now on the top of the stack do nothing if ghost is true: the storage is unchanged add 1 to the storage otherwise pair an empty list of operations with the new storage The complete description of the contract, simpleExample.tz , is thus storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n};","breadcrumbs":"Michelson » A Simple Example","id":"2","title":"A Simple Example"},"20":{"body":"Let's showcase testgeneration on simpleExample.tz : storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n}; Test generation is activated by passing to techelson a testgen argument triggering the test generation mode. You can read more about modes in the Usage section . First, let's generate a single testcase ( -n 1 , or --count 1 ) and let techelson run it: $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1\ndone generating test for contract SimpleExample\nRunning test `SimpleExampleTest1`\nRunning test script... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `SimpleExampleTest1` While this can be useful for simple contracts, usually you want to retrieve the testcase directly so that you can modify it to suit your needs. So let's still generate one testcase but this time we will dump it in the current directory (trailing . in the techelson command). $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1 . ; echo ; echo \"testcase:\" ; echo ; cat SimpleExampleTest1.techel ; rm SimpleExampleTest1.techel\ndone generating test for contract SimpleExample\ndumping testcases to `.` testcase: { # deploying contract `SimpleExample` { # creating contract creation parameters { # creating storage for contract `SimpleExample` PUSH nat 807338681362247 ; # money transferred PUSH mutez 638557938255190 ; # delegatable PUSH bool False ; # spendable PUSH bool False ; # delegate NONE key_hash ; # manager { PUSH key \"11a6ffbc9fb85\" ; BLAKE2B } } ; CREATE_CONTRACT \"SimpleExample\" } ; # create a list of operations and apply { NIL operation ; SWAP ; CONS ; APPLY_OPERATIONS } ; # create transfer operation { DUP ; # retrieve contract from address, fail if none { CONTRACT bool ; IF_NONE { PUSH string \"unable to spawn contract `SimpleExample`\" ; FAILWITH } {} } ; PUSH mutez 120584798270008 ; PUSH bool True ; TRANSFER_TOKENS } ; # create a list of operations and apply { NIL operation ; SWAP ; CONS ; APPLY_OPERATIONS }\n}","breadcrumbs":"Test Generation » Example","id":"20","title":"Example"},"21":{"body":"This section provides a quick overview of some of techelson's features: list of all the extensions (brief) discussion on techelson's command-line usage These sections try to provide relatively raw, brief and crucial information about the features they discuss. They will usually point to the relevant sections of this book if you need more details.","breadcrumbs":"Quick Reference","id":"21","title":"Quick Reference"},"22":{"body":"Warning : the following instructions can only be used in contracts, not testcases : SENDER SOURCE Techelson testcases have access to an extended instruction set to ease the process of writing tests. See rsc/tests/ for more examples. Note that techelson treats #> as whitespace, so you can use extensions in contracts (when legal ) while keeping them pure michelson, like in the example below DIP { ... CONS ; #> PRINT_STACK ; #> STEP \"after list cons\" ; PUSH int 3 ; ...\n}","breadcrumbs":"Quick Reference » Extensions","id":"22","title":"Extensions"},"23":{"body":"The following instructions are legal in testcases and contracts : STEP and STEP : 'S -> 'S Relevant section of this book: First Steps . suspends the evaluator and prints a string, if any. PRINT_STACK : 'S -> 'S Relevant section of this book: First Steps . prints the current state of the stack","breadcrumbs":"Quick Reference » Unrestricted Extensions","id":"23","title":"Unrestricted Extensions"},"24":{"body":"The following instructions are only legal in testcases: CREATE_CONTRACT : :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S Relevant section of this book: Creating and Calling Contracts . Creates an instance of the contract named after the string parameter. The type of the storage of the contract must be 'g . SPAWN_CONTRACT 'g : :: string : key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S Relevant section of this book: Creating and Calling Contracts . Exactly the same as the CREATE_CONTRACT extension above but the name of the contract is passed as a stack parameter, and the type of the storage is an explicit parameter of the instruction. APPLY_OPERATIONS : (list operation) : 'S -> 'S Relevant section of this book: Creating and Calling Contracts . consumes a list of operations suspends the execution of the testcase applies all the operations in the list (these operations can create operations which will be applied too) resumes the execution of the testcase GET_STORAGE 'storage : contract _ : 'S -> (option 'storage) : 'S address : 'S -> (option 'storage) : 'S Relevant section of this book: Live Contract Inspection . consumes a contract pushes Some of the current value of the storage of the contract if its storage has type 'storage , None otherwise GET_BALANCE : contract _ : 'S -> mutez : 'S address : 'S -> mutez : 'S Relevant section of this book: Live Contract Inspection . Same as GET_STORAGE , but pushes the balance of the contract instead of its storage MUST_FAIL 'a : (option 'a) : operation : 'S -> 'S Relevant section of this book: Testing for Failures . Specifies that an operation (or the operation it creates recursively) must fail, and optionaly that it FAIL ed WITH a certain value. More precisely, the whole testcase will fail if the operation or the operations it creates recursively, when applied , either succeeds, or the (option 'a) parameter is (Some value) and the operation's failure was not caused by a FAILWITH on precisely value Note that if the optional value is NONE , then MUST_FAIL accepts any kind of protocol failure, not just FAILWITH . For instance, it will also accept creation/transfer operations that fail because of insufficient balance, because this precise operation already ran (it was DUP -ed), etc . SET_SOURCE code , with code :: [ 'A -> 'B ] address :: 'A -> 'B Relevant section of this book: Usurpation of Identity . Sets the source of the testcase. Without this extension, the source of all transfers can only be the testcase. This allows to run code while pretending the testcase is a different live contract.","breadcrumbs":"Quick Reference » Testcase-only Extensions","id":"24","title":"Testcase-only Extensions"},"25":{"body":"Warning : so-called contract initializers are mentioned in the --help but are not currently supported. The full list of options (for the nominal mode) is obtained with --help : $ techelson --help\nUSAGE: ../bin/techelson [OPTIONS] -- [FILES]* ../bin/techelson [OPTIONS] testgen [TESTGEN_OPTIONS] [-- DIR]? OPTIONS: -h, --help prints this help message -v, --verb ? increases or sets verbosity [default: 1] -q decreases verbosity -s, --step (on|true|True|no|off|false|False)? (de)activates step-by-step evaluation [default: false] --skip (on|true|True|no|off|false|False)? if true, all steps will automatically advance (and `--step` will be set to false) [default: false] --contract ',' ? adds a contract to the test environment. The second optional argument is the contract's initializer. MODES: testgen activates and controls test generation run `../bin/techelson --help` to obtain help on a specific mode. For example: `../bin/techelson testgen --help`","breadcrumbs":"Quick Reference » Command-Line Options","id":"25","title":"Command-Line Options"},"26":{"body":"Modes available: testgen : Test Generation Techelson's modes are triggered by simply passing the name of the mode as an argument. For instance, $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 2\ndone generating tests for contract SimpleExample\nRunning test `SimpleExampleTest1`\nRunning test script... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `SimpleExampleTest1`\nRunning test `SimpleExampleTest2`\nRunning test script... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script... Applying Operations... Contract Transfer... Applying Operations...\nRunning test script...\nDone running test `SimpleExampleTest2` You can have techelson print the options for mode with techelson --help .","breadcrumbs":"Quick Reference » Modes","id":"26","title":"Modes"},"27":{"body":"Given a contract, this mode is in charge of generating a testcase automatically. The relevant chapter of this book is Test Generation . $ techelson testgen --help\nGenerates testcases for some contract(s). If a directory is provided, the testcases will\nbe dumped there. Otherwise techelson will just run the testcases it generated. USAGE: ../bin/techelson [OPTIONS] testgen [TESTGEN_OPTIONS] [-- DIR]? TESTGEN_OPTIONS: -h, --help prints this help message -n, --count sets the number of testcases to generate [default: 1]","breadcrumbs":"Quick Reference » Test Generation","id":"27","title":"Test Generation"},"3":{"body":"Interaction with techelson is currently file-based. There are two kinds of files techelson works with. Contract files are just plain michelson smart contract files, and testcase files are files containing a Michelson instruction, usually a sequence of instructions { } . Omitting options, running techelson looks like (the -- separator is optional): $ techelson \\ --contract .. --contract \\ -- ... Techelson will then run the testcases in sequence. All testcases will have access to all the contracts provided with --contract . For more information about command-line refer to the Usage section . This section builds on the small example from the Michelson section , and a slightly more involved example later on, to introduce techelson's workflow and its extended instruction set. First Steps shows how to run a simple testcase with no contract. Introduces PRINT_STACK and STEP . Creating and Calling Contracts discusses the contract environment and contract creation and transfers. Introduces APPLY_OPERATIONS . Live Contract Inspection deals with recovering the balance and the storage of live (deployed) contracts. Introduces GET_BALANCE and GET_STORAGE . Anonymous Contracts details how to create anonymous contracts. Transfers introduces the creation of transfers to a contract. Testing for Failures shows how to test that an operation fails and how. This section is the first to use the slightly more complex example admins.tz , and it's liquidity version admins.liq . Introduces MUST_FAIL . Usurpation of Identity illustrates how to have your testcases pretend they are a specific contract/account, and to create operations in their name. Introduces SET_SOURCE .","breadcrumbs":"Running Tests","id":"3","title":"Running Tests"},"4":{"body":"Let's give ourselves a testcase file test1.techel { PUSH string \"starting the test\" ;\n} This testcase does not use any contract. To run it, simply run $ techelson rsc/no_contract/okay/test1.techel\nRunning test `Test1`\nRunning test script...\nDone running test `Test1`","breadcrumbs":"Running Tests » First Steps","id":"4","title":"First Steps"},"5":{"body":"This is not very informative, which is why techelson provides extensions such as PRINT_STACK . This instruction prints the state of the stack in a readable way. For example, if we change the example above to test2.techel to { PUSH string \"starting the test\" ; PRINT_STACK\n} the output becomes $ techelson rsc/no_contract/okay/test2.techel\nRunning test `Test2`\nRunning test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================|\nRunning test script...\nDone running test `Test2`","breadcrumbs":"Running Tests » Introspection","id":"5","title":"Introspection"},"6":{"body":"When you run a complex testcase or contract, it can be useful to have break point that stop the execution. This gives you time to read a PRINT_STACK before the next step is actually performed, make one step, read the state of the stack, etc. The STEP techelson extension allows to do just that. You can also provide a string that will be displayed when the STEP instruction is reached. The following example ( test3.techel ) showcases the STEP instruction: { PUSH string \"starting the test\" ; PRINT_STACK ; STEP \"just started the test\" ; # The description string is optional, see below. PUSH @not_important string \"a string with a variable name\" ; PRINT_STACK ; STEP ; # No description string. DROP ; PRINT_STACK ; STEP \"The string should be gone. Also, we're done.\"\n} Techelson will stop on all STEP instructions and ask you to press enter to keep going: $ techelson rsc/no_contract/okay/test3.techel\nRunning test `Test3`\nRunning test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================|\nRunning test script...\nstopping [just started the test] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|--------------------------------------------------------------------------------------------------|\n| @not_important |\n| \"a string with a variable name\" |\n| string |\n|==================================================================================================|\nRunning test script...\nstopping [no information] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================|\nRunning test script...\nstopping [The string should be gone. Also, we're done.] press `return` to continue Running test script...\nDone running test `Test3` Pro tip 1 : you can use PRINT_STACK and STEP in contracts too (see the extensions section for details). Also, techelson treats #> as a whitespace. Hence, your can have #> STEP ; and/or #> PRINT_STACK ; in your michelson contract, which lets you inspect it during tests. Your contract remains legal michelson thanks to the leading # which comments the command. Pro tip 2 : passing --skip on to techelson will skip (but still display) all the steps. The output of the commands reported in this book are all obtained by running techelson with --skip on .","breadcrumbs":"Running Tests » Steps","id":"6","title":"Steps"},"7":{"body":"When you pass a contract to techelson using techelson --contract ... , the contract becomes a named contract in the techelson environment. The name of the contract is the name of the file up to its first . character, with the first letter capitalized. So techelson \\ --contract my_contract.tz \\ --contract myContract.tz \\ --contract my.contract.tz \\ ... defines three named contracts: My_contract , MyContract and My . Note that the naming convention is the same for testcases, based on the testcase file. The name of a testcase might be used in techelson's output to provide information, but it has no practical use currently.","breadcrumbs":"Running Tests » Creating and Calling Contracts","id":"7","title":"Creating and Calling Contracts"},"8":{"body":"Techelson extends the CREATE_CONTRACT michelson instruction with the following rule instruction parameter stack CREATE_CONTRACT :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S where is the name of a contract with storage type 'g in the environment. The semantics of the stack parameters is the same as in michelson: manager, optional delegate, the two spendable and delegatable flags, and the balance and storage of the contract created. NB : techelson also provides the SPAWN_CONTRACT extension which takes the name of the contract on the stack. See techelson's Extensions for more details. Say we have the following contract in file simpleExample.tz . storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n}; We can craft a creation operation in file create1.techel as follows { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; PRINT_STACK ; STEP \"before creation\" ; CREATE_CONTRACT \"SimpleExample\" ; PRINT_STACK ; STEP \"after creation\" ;\n} This produces the following output $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create1.techel\nRunning test `Create1`\nRunning test script...\nstack:\n|==================================================================================================|\n| @storage |\n| 0 |\n| nat |\n|--------------------------------------------------------------------------------------------------|\n| @amount |\n| 3utz |\n| mutez |\n|--------------------------------------------------------------------------------------------------|\n| @delegatable |\n| True |\n| bool |\n|--------------------------------------------------------------------------------------------------|\n| @spendable |\n| True |\n| bool |\n|--------------------------------------------------------------------------------------------------|\n| @delegate |\n| None |\n| (option key_hash) |\n|--------------------------------------------------------------------------------------------------|\n| @manager |\n| \"sha512:manager address\" |\n| key_hash |\n|==================================================================================================|\nRunning test script...\nstopping [before creation] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| address[1] |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| CREATE[uid:0] (@address[1], \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" |\n| operation |\n|==================================================================================================|\nRunning test script...\nstopping [after creation] press `return` to continue Running test script...\nDone running test `Create1`","breadcrumbs":"Running Tests » Named Contract Creation","id":"8","title":"Named Contract Creation"},"9":{"body":"Michelson operations (contract/account creation, transfers) cannot be applied directly in a michelson contract. Instead, a contract produces a list of operation which the tezos runtime applies after the contract is done running. A techelson test case needs to be able to apply operations however, which is why the APPLY_OPERATIONS extension exists. This instruction suspends the execution of the testcase to apply the list of operations on the top of the stack. When all these operations are done running, techelson resumes the execution of the testcase. Warning : this instruction is only legal in testcases, not in contracts. Consider testcase create2.techel : { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; DIP { NIL operation } ; CONS ; PRINT_STACK ; STEP \"operation is now in a list\" ; APPLY_OPERATIONS ; PRINT_STACK ; STEP \"testing that contract exists\" ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } { PUSH string \"success\" ; PRINT_STACK }\n} Running it yields $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create2.techel\nRunning test `Create2`\nRunning test script...\nstack:\n|==================================================================================================|\n| @main |\n| address[1]@main |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| [ CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" ] |\n| (list operation) |\n|==================================================================================================|\nRunning test script...\nstopping [operation is now in a list] press `return` to continue Running test script... Applying Operations...\nRunning test script...\nstack:\n|==================================================================================================|\n| @main |\n| address[1]@main |\n| address |\n|==================================================================================================|\nRunning test script...\nstopping [testing that contract exists] press `return` to continue Running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| \"success\" |\n| string |\n|==================================================================================================|\nRunning test script...\nDone running test `Create2` Notice the line Applying operations... . We could increase techelson's verbosity to obtain more information as to which contracts are deployed, but let's see how to inspect the state of a live (deployed) contract instead.","breadcrumbs":"Running Tests » Applying Operations","id":"9","title":"Applying Operations"}},"length":28,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"4":{"0":{"5":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951}}}}}},"1":{"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"5":{"8":{"4":{"7":{"9":{"8":{"2":{"7":{"0":{"0":{"0":{"8":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":8,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"25":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"26":{"tf":1.0},"6":{"tf":1.0}}},"3":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"6":{"3":{"8":{"5":{"5":{"7":{"9":{"3":{"8":{"2":{"5":{"5":{"1":{"9":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"8":{"0":{"7":{"3":{"3":{"8":{"6":{"8":{"1":{"3":{"6":{"2":{"2":{"4":{"7":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"17":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"24":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"20":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"0":{"]":{"@":{"a":{"d":{"d":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"2":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{"@":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{"]":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"]":{"@":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":4.0},"14":{"tf":3.605551275463989},"15":{"tf":3.1622776601683795},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"24":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}},"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"18":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":6,"docs":{"13":{"tf":2.6457513110645907},"14":{"tf":2.6457513110645907},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"17":{"tf":2.449489742783178},"18":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":3.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"18":{"tf":2.0}}}}}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"z":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"17":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"11":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.6457513110645907},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.0},"20":{"tf":2.23606797749979},"24":{"tf":1.7320508075688772},"26":{"tf":2.8284271247461903},"9":{"tf":2.6457513110645907}}},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"26":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":2.0},"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"2":{"b":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":6,"docs":{"0":{"tf":2.23606797749979},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0},"6":{"tf":1.0}}},"l":{"df":9,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.449489742783178},"12":{"tf":2.23606797749979},"14":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"24":{"tf":2.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"c":{".":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"27":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"2":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":12,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}},"x":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"17":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"(":{"df":1,"docs":{"27":{"tf":1.0}}},"/":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":26,"docs":{"0":{"tf":3.1622776601683795},"1":{"tf":3.3166247903554},"10":{"tf":4.358898943540674},"11":{"tf":4.47213595499958},"12":{"tf":3.1622776601683795},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.449489742783178},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.8284271247461903},"19":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":3.4641016151377544},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.7416573867739413},"25":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"27":{"tf":1.0},"3":{"tf":3.872983346207417},"4":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":3.1622776601683795},"8":{"tf":2.449489742783178},"9":{"tf":3.605551275463989}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"8":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"13":{"tf":1.0},"14":{"tf":3.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"24":{"tf":2.6457513110645907},"3":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"15":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"0":{"df":3,"docs":{"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{")":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"9":{"tf":1.0}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"11":{"tf":1.0},"21":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"26":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"27":{"tf":1.0}}}},"p":{"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.7320508075688772}}}}},"d":{"df":1,"docs":{"24":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"c":{"df":4,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"23":{"tf":1.0},"25":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.0},"13":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"24":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":11,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":2.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.6457513110645907},"18":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"25":{"tf":1.0},"3":{"tf":2.449489742783178},"4":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"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":1,"docs":{"10":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":2,"docs":{"24":{"tf":2.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"0":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":3.0},"20":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.449489742783178}}}}},"t":{"_":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.0},"2":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"n":{"df":4,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":2,"docs":{"1":{"tf":1.0},"15":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":3,"docs":{"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.7320508075688772}}}},"n":{"c":{"df":4,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"18":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":2.6457513110645907},"18":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"3":{"tf":2.6457513110645907}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"t":{"'":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"24":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":2.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"%":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}}}}},"'":{"df":7,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"9":{"tf":1.0}}},"df":1,"docs":{"6":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"11":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"0":{"tf":2.0},"13":{"tf":2.0},"18":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"3":{"tf":1.0}}}},"w":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}},"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"p":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"13":{"tf":2.449489742783178},"14":{"tf":2.0},"15":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},"df":11,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":2.23606797749979},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":2.6457513110645907},"27":{"tf":1.0}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":11,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"4":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":2.0},"13":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":2.6457513110645907},"18":{"tf":2.449489742783178},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772}}}},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"2":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":4,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}},"n":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":11,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0}}},"h":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"i":{"c":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"13":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"|":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":17,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.8284271247461903},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"17":{"tf":2.449489742783178},"18":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":3.3166247903554},"24":{"tf":3.7416573867739413},"26":{"tf":2.8284271247461903},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":3.4641016151377544}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":2.6457513110645907},"25":{"tf":2.449489742783178},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.7320508075688772}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"24":{"tf":1.0},"27":{"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":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":2.6457513110645907},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.4641016151377544},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"24":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.0},"6":{"tf":1.0},"7":{"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":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"6":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":17,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.4641016151377544},"12":{"tf":3.7416573867739413},"14":{"tf":3.7416573867739413},"15":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.449489742783178},"2":{"tf":1.0},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}},"q":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":2.23606797749979}}}}},"df":1,"docs":{"24":{"tf":1.0}}},"w":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}},"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951}}}}}},"l":{"df":3,"docs":{"12":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":7,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":2.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"20":{"tf":1.0}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":3.0},"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.0}}}}},"s":{"c":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"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":{},"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":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"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":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"z":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"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":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":21,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":3.0},"11":{"tf":2.8284271247461903},"12":{"tf":3.0},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":2.8284271247461903},"20":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":3.3166247903554},"27":{"tf":1.0},"3":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.0},"6":{"tf":3.3166247903554},"8":{"tf":2.6457513110645907},"9":{"tf":3.4641016151377544}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.6457513110645907},"14":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}}}}}},"df":7,"docs":{"10":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":4.0},"25":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"3":{"tf":2.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"18":{"tf":2.23606797749979},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"h":{"a":{"5":{"1":{"2":{":":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":2.449489742783178},"26":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"i":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"25":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"25":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":2.0},"25":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"1":{"tf":2.449489742783178},"10":{"tf":3.1622776601683795},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":4.0},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"2":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":3.0},"3":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},".":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":3.4641016151377544},"14":{"tf":2.449489742783178},"15":{"tf":3.0},"16":{"tf":2.0},"17":{"tf":2.8284271247461903},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"25":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":2.449489742783178},"20":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}},"df":1,"docs":{"0":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":22,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"a":{"df":0,"docs":{},"s":{"df":18,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.8284271247461903},"27":{"tf":2.23606797749979},"3":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"11":{"tf":1.0}}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":23,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":3.0},"11":{"tf":2.8284271247461903},"12":{"tf":3.1622776601683795},"13":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"17":{"tf":2.8284271247461903},"18":{"tf":3.0},"19":{"tf":2.449489742783178},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":3.605551275463989},"27":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"4":{"tf":2.0},"5":{"tf":2.449489742783178},"6":{"tf":4.0},"8":{"tf":2.6457513110645907},"9":{"tf":3.4641016151377544}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.4142135623730951}}}}}},"df":4,"docs":{"20":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"z":{"df":1,"docs":{"13":{"tf":1.0}},"o":{"df":4,"docs":{"0":{"tf":2.0},"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"p":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"3":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951}}},"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":6,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}}}},"df":16,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":3.3166247903554},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":3.0},"17":{"tf":2.23606797749979},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772},"9":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":9,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"14":{"tf":2.6457513110645907},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":2.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":2.8284271247461903},"15":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}},"df":13,"docs":{"0":{"tf":2.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":3,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"17":{"tf":2.6457513110645907},"24":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"25":{"tf":1.0}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"22":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"breadcrumbs":{"root":{"0":{".":{"4":{"0":{"5":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951}}}}}},"1":{"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"5":{"8":{"4":{"7":{"9":{"8":{"2":{"7":{"0":{"0":{"0":{"8":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"df":8,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"25":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"26":{"tf":1.0},"6":{"tf":1.0}}},"3":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"6":{"3":{"8":{"5":{"5":{"7":{"9":{"3":{"8":{"2":{"5":{"5":{"1":{"9":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}},"8":{"0":{"7":{"3":{"3":{"8":{"6":{"8":{"1":{"3":{"6":{"2":{"2":{"4":{"7":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"17":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"24":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"17":{"tf":2.449489742783178},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"20":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"0":{"]":{"@":{"a":{"d":{"d":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"2":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{"@":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":2.0}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{"]":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"]":{"@":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":4.0},"14":{"tf":3.605551275463989},"15":{"tf":3.1622776601683795},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"24":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}}}}},"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"18":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":6,"docs":{"13":{"tf":2.6457513110645907},"14":{"tf":2.6457513110645907},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"17":{"tf":2.449489742783178},"18":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":3.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"18":{"tf":2.0}}}}}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"z":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"17":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"11":{"tf":2.449489742783178},"3":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.6457513110645907},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.0},"20":{"tf":2.23606797749979},"24":{"tf":1.7320508075688772},"26":{"tf":2.8284271247461903},"9":{"tf":2.8284271247461903}}},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"26":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":2.0},"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"2":{"b":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":6,"docs":{"0":{"tf":2.23606797749979},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0},"6":{"tf":1.0}}},"l":{"df":9,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.449489742783178},"12":{"tf":2.23606797749979},"14":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"24":{"tf":2.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"c":{".":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"27":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"2":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":12,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}},"x":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"17":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"(":{"df":1,"docs":{"27":{"tf":1.0}}},"/":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":26,"docs":{"0":{"tf":3.1622776601683795},"1":{"tf":3.3166247903554},"10":{"tf":4.47213595499958},"11":{"tf":4.58257569495584},"12":{"tf":3.1622776601683795},"13":{"tf":2.449489742783178},"14":{"tf":2.449489742783178},"15":{"tf":2.449489742783178},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.8284271247461903},"19":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":3.4641016151377544},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.7416573867739413},"25":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"27":{"tf":1.0},"3":{"tf":3.872983346207417},"4":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":3.3166247903554},"8":{"tf":2.6457513110645907},"9":{"tf":3.605551275463989}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"8":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"13":{"tf":1.0},"14":{"tf":3.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"24":{"tf":2.6457513110645907},"3":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"15":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"0":{"df":3,"docs":{"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":2.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"8":{"tf":2.6457513110645907},"9":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{")":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"9":{"tf":1.0}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"11":{"tf":1.0},"21":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"26":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"0":{"tf":1.0},"14":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"27":{"tf":1.0}}}},"p":{"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.7320508075688772}}}}},"d":{"df":1,"docs":{"24":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"c":{"df":4,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"23":{"tf":1.0},"25":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.0},"13":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"24":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":11,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":2.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"25":{"tf":1.0},"3":{"tf":2.449489742783178},"4":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"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":1,"docs":{"10":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":2,"docs":{"24":{"tf":2.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"0":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":3.1622776601683795},"20":{"tf":2.6457513110645907},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.6457513110645907}}}}},"t":{"_":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.0},"2":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"n":{"df":4,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":2,"docs":{"1":{"tf":1.0},"15":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":3,"docs":{"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.7320508075688772}}}},"n":{"c":{"df":4,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"18":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":2.6457513110645907},"18":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"3":{"tf":2.6457513110645907}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"t":{"'":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"24":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":2.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"%":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}}}}},"'":{"df":7,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"9":{"tf":1.0}}},"df":1,"docs":{"6":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"11":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"3":{"tf":1.0},"9":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"0":{"tf":2.0},"13":{"tf":2.0},"18":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"3":{"tf":1.0}}}},"w":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}},"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"p":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"13":{"tf":2.449489742783178},"14":{"tf":2.0},"15":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},"df":12,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":2.449489742783178},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":2.8284271247461903},"27":{"tf":1.0}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":11,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"4":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":2.0},"13":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":2.6457513110645907},"18":{"tf":2.449489742783178},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":2.0}}}},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"2":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":4,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}},"n":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":11,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0}}},"h":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"i":{"c":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"13":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"|":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":17,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.8284271247461903},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"17":{"tf":2.449489742783178},"18":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":3.3166247903554},"24":{"tf":3.7416573867739413},"26":{"tf":2.8284271247461903},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":3.605551275463989}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":2.6457513110645907},"25":{"tf":2.6457513110645907},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.7320508075688772}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"24":{"tf":1.0},"27":{"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":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":2.6457513110645907},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.4641016151377544},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"24":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.0},"6":{"tf":1.0},"7":{"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":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"6":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":17,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.4641016151377544},"12":{"tf":3.7416573867739413},"14":{"tf":3.7416573867739413},"15":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.449489742783178},"2":{"tf":1.0},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}},"q":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":8,"docs":{"0":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":2.23606797749979}}}}},"df":1,"docs":{"24":{"tf":1.0}}},"w":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}},"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951}}}}}},"l":{"df":3,"docs":{"12":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":7,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":2.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"20":{"tf":1.0}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":3.0},"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.0}}}}},"s":{"c":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"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":{},"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":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"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":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"z":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"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":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":23,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":3.1622776601683795},"11":{"tf":3.0},"12":{"tf":3.1622776601683795},"13":{"tf":1.0},"14":{"tf":3.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":3.0},"20":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":3.3166247903554},"27":{"tf":1.0},"3":{"tf":2.23606797749979},"4":{"tf":2.449489742783178},"5":{"tf":2.23606797749979},"6":{"tf":3.4641016151377544},"7":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":3.605551275463989}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.6457513110645907},"14":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}}}}}},"df":7,"docs":{"10":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":4.0},"25":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"3":{"tf":2.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"18":{"tf":2.23606797749979},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"h":{"a":{"5":{"1":{"2":{":":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":2.449489742783178},"26":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"i":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"25":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"25":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":2.0},"25":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"6":{"tf":3.7416573867739413},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"r":{"a":{"df":0,"docs":{},"g":{"df":15,"docs":{"1":{"tf":2.449489742783178},"10":{"tf":3.1622776601683795},"11":{"tf":2.449489742783178},"12":{"tf":2.449489742783178},"13":{"tf":4.0},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"2":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":3.0},"3":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},".":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":3.4641016151377544},"14":{"tf":2.449489742783178},"15":{"tf":3.0},"16":{"tf":2.0},"17":{"tf":2.8284271247461903},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"25":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":2.449489742783178},"20":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}},"df":1,"docs":{"0":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":22,"docs":{"0":{"tf":3.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"a":{"df":0,"docs":{},"s":{"df":18,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.0},"27":{"tf":2.23606797749979},"3":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"11":{"tf":1.0}}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":24,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":3.1622776601683795},"11":{"tf":3.0},"12":{"tf":3.3166247903554},"13":{"tf":2.0},"14":{"tf":3.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"19":{"tf":2.6457513110645907},"20":{"tf":3.1622776601683795},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":3.605551275463989},"27":{"tf":1.7320508075688772},"3":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.6457513110645907},"6":{"tf":4.123105625617661},"7":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":3.605551275463989}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.4142135623730951}}}}}},"df":4,"docs":{"20":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"z":{"df":1,"docs":{"13":{"tf":1.0}},"o":{"df":4,"docs":{"0":{"tf":2.0},"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"p":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"3":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951}}},"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":6,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}}}},"df":16,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":3.4641016151377544},"13":{"tf":1.0},"15":{"tf":2.8284271247461903},"16":{"tf":3.0},"17":{"tf":2.23606797749979},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772},"9":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":9,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"14":{"tf":2.6457513110645907},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":2.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":2.8284271247461903},"15":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}},"df":13,"docs":{"0":{"tf":2.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":3,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"17":{"tf":2.6457513110645907},"24":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"25":{"tf":1.0}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"22":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"8":{"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":{"2":{"tf":1.0},"20":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0}}}}}}}},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"25":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"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":{"21":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"4":{"tf":1.0},"6":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"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 +{"doc_urls":["index.html#techelson","michelson/index.html#michelson","michelson/simple_example.html#a-simple-example","testing/index.html#running-tests","testing/basic.html#first-steps","testing/basic.html#introspection","testing/basic.html#steps","testing/contracts.html#creating-and-calling-contracts","testing/contracts.html#named-contract-creation","testing/contracts.html#applying-operations","testing/inspection.html#live-contract-inspection","testing/anonymous.html#anonymous-contracts","testing/transfers.html#transfers","testing/failures.html#testing-for-failures","testing/failures.html#creation","testing/failures.html#transfer-failures","testing/failures.html#handling-failures","testing/failures.html#more-precise-failure-testing","testing/set_source.html#usurpation-of-identity","testgen/index.html#test-generation","testgen/example.html#example","quick_ref/index.html#quick-reference","quick_ref/extensions.html#extensions","quick_ref/extensions.html#unrestricted-extensions","quick_ref/extensions.html#testcase-only-extensions","quick_ref/usage.html#command-line-options","quick_ref/usage.html#modes","quick_ref/usage.html#test-generation"],"index":{"documentStore":{"docInfo":{"0":{"body":182,"breadcrumbs":1,"title":1},"1":{"body":131,"breadcrumbs":1,"title":1},"10":{"body":239,"breadcrumbs":5,"title":3},"11":{"body":246,"breadcrumbs":4,"title":2},"12":{"body":288,"breadcrumbs":3,"title":1},"13":{"body":235,"breadcrumbs":4,"title":2},"14":{"body":346,"breadcrumbs":3,"title":1},"15":{"body":187,"breadcrumbs":4,"title":2},"16":{"body":272,"breadcrumbs":4,"title":2},"17":{"body":327,"breadcrumbs":6,"title":4},"18":{"body":402,"breadcrumbs":4,"title":2},"19":{"body":63,"breadcrumbs":2,"title":2},"2":{"body":96,"breadcrumbs":3,"title":2},"20":{"body":260,"breadcrumbs":3,"title":1},"21":{"body":32,"breadcrumbs":2,"title":2},"22":{"body":44,"breadcrumbs":3,"title":1},"23":{"body":31,"breadcrumbs":4,"title":2},"24":{"body":241,"breadcrumbs":4,"title":2},"25":{"body":93,"breadcrumbs":5,"title":3},"26":{"body":188,"breadcrumbs":3,"title":1},"27":{"body":48,"breadcrumbs":4,"title":2},"3":{"body":151,"breadcrumbs":2,"title":2},"4":{"body":28,"breadcrumbs":4,"title":2},"5":{"body":44,"breadcrumbs":3,"title":1},"6":{"body":196,"breadcrumbs":3,"title":1},"7":{"body":54,"breadcrumbs":5,"title":3},"8":{"body":208,"breadcrumbs":5,"title":3},"9":{"body":233,"breadcrumbs":4,"title":2}},"docs":{"0":{"body":"Techelson is a T est E xecution E nvironment (TEE) for Michelson smart contracts . Michelson is the stack-based language used by the tezos blockchain . Techelson is open source and hosted on github , where you can find the build instructions. Techelson emulates just enough of the tezos blockchain protocol to be able to create smart contracts and make transfers between contracts. Currently, techelson only aims at testing functional properties of smart contracts. In particular, it does not provide any information about the gas or burn of transfers/contracts. This is because computing the burn , and especially the gas of a transfer is rather complex and would require techelson to drop some of the abstractions it makes over the tezos protocol to run tests faster. Techelson can be used either as a command-line tool or as an OCaml library. This book focuses on the former use case. Also, this book assumes the reader is fairly familiar with the michelson language. We will discuss what a contract is and how it behaves, but the reader should know what michelson types and instructions look like, and their semantics. Michelson is a fairly low-level language which makes it difficult to discuss complex contracts. This book will sometimes give contracts as Liquidity contracts. Liquidity is a higher-level, OCaml-like language for tezos smart contracts which compiles to Michelson. NB : if you are a Liquidity user, you should probably take a look at this blog post on how to write tests directly in Liquidity, and run these tests using Techelson. The chapters of this book are Michelson , provides a very brief introduction to michelson smart contracts. Running Tests , describes techelson's workflow for running tests through examples. Test Generation , discusses techelson's test generation features. Quick Reference , quick reminders of techelson's features, such as extensions. All examples in this book are available in the rsc directory of the github repository .","breadcrumbs":"Techelson","id":"0","title":"Techelson"},"1":{"body":"Michelson is the stack-based, strongly typed, low-level language supported by the tezos blockchain for smart contracts. We only provide a brief description of michelson here, and refer the reader to the official documentation for more details. A michelson contract is similar to transition system. The storage of a contract is its current state; the entry point ( code ) of a contract is a function which takes some tezos tokens (of type mutez ), the current storage of the contract, and a parameter of a certain type provided by the client of the contract. It returns a list of operations (contract/account creation, transfers, etc. ), and the new storage of the contract. In practice, a contract looks as follows: storage ;\nparameter ;\ncode ; Note that tokens are passed implicitely: they are credited to the contract before it starts running (although the amount of the transfer can be accessed with the AMOUNT instruction). Hence the code of the contract takes two parameters, which are aggregated in a pair (parameter, storage) . The same goes with the operations and the new storage returned by the contract, which are returned as a pair (operations, new_storage) . In the stack-based context of michelson, \"takes as argument\" means \"starts with a stack containing \". Likewise, \"returns \" here means \"leaves on the stack at the end (and nothing else than )\".","breadcrumbs":"Michelson","id":"1","title":"Michelson"},"10":{"body":"Michelson smart contracts cannot access each other's storage. They can only interact through transfers, during which the client of the contract provides a parameter that the contract runs its code on. As a test framework, techelson provides inspection instructions which give access to the balance and the storage of a live (deployed) contract. Both consume a contract from the top of the stack. instruction parameter stack GET_STORAGE 'storage :: contract _ : 'S or :: address : 'S -> (option 'storage) : 'S GET_BALANCE none :: contract _ : 'S or :: address : 'S -> mutez : 'S Let's extend the previous example to inspection.techel which checks that the balance and storage of the contract deployed are correct. { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } {} ; DUP ; GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 3 ; IFCMPNEQ { PUSH string \"balance should be 3utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 0 ; IFCMPNEQ { PUSH string \"storage should be 0 (nat)\" ; FAILWITH } {} ; }\n} The testcase does not fail and produces the output $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/inspection.techel\nRunning test `Inspection` running test script... applying operation CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (3utz) address[1]@main running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 3utz |\n| mutez |\n|==================================================================================================| running test script...\nstopping [retrieved the balance of the contract] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| 0 |\n| nat |\n|==================================================================================================| running test script...\nstopping [retrieved the storage of the contract] press `return` to continue running test script...\nDone running test `Inspection`","breadcrumbs":"Running Tests » Live Contract Inspection","id":"10","title":"Live Contract Inspection"},"11":{"body":"Techelson accepts contracts through its --contract option. These contracts are named as discussed in Creating and Calling Contracts . Contracts defined at michelson level in testcases and contracts however are considered anonymous . Anonymous contracts can also be deployed and inspected. In fact, they are not really different from named contracts apart from their lack of name, which (currently) prevent techelson from mentioning where they really come from in its debug output. The following anonymous.techel testcase is similar to the one from the Live Contract Inspection except that the contract deployed is not given to the environment, it is inlined in the testcase. { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op { storage nat; parameter bool; code { UNPAIR ; IF { } { PUSH nat 1; ADD } ; NIL operation ; PAIR }; } ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } {} ; DUP ; GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 3 ; IFCMPNEQ { PUSH string \"balance should be 3utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 0 ; IFCMPNEQ { PUSH string \"storage should be 0 (nat)\" ; FAILWITH } {} ; }\n} This produces the exact same output (modulo the testcase's name, and as long as we do not increase verbosity) as for inspection.techel : $ techelson rsc/no_contract/okay/anonymous.techel\nRunning test `Anonymous` running test script... applying operation CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) { storage nat ; parameter bool ; code ...; } live contracts: none\n=> live contracts: (3utz) address[1]@main running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 3utz |\n| mutez |\n|==================================================================================================| running test script...\nstopping [retrieved the balance of the contract] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| 0 |\n| nat |\n|==================================================================================================| running test script...\nstopping [retrieved the storage of the contract] press `return` to continue running test script...\nDone running test `Anonymous`","breadcrumbs":"Running Tests » Anonymous Contracts","id":"11","title":"Anonymous Contracts"},"12":{"body":"At this point creating and applying a transfer should be relatively straightforward. Simply create the operation using michelson's TRANSFER_TOKENS , and apply it with APPLY_OPERATIONS . For instance, transfer.techel builds on inspection.techel . It creates an instance of simpleExample.tz , and creates and applies two operations: the first transfers 7 tokens with a parameter equal to False , and the second transfers 13 tokens with True . (Remember that simpleExample.tz will count transfers for which the parameter is False .) { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; ... # Omitting code creating the contract. { # Making a non-ghost transfer. DUP ; PUSH @amount mutez 7 ; PUSH @ghost bool False ; TRANSFER_TOKENS ; } ; DIP { # Making a ghost transfer. DUP ; PUSH @amount mutez 13 ; PUSH @ghost bool True ; TRANSFER_TOKENS ; } ; { # Creating the list of all operations. DIP { DIP {NIL operation } ; CONS } ; CONS ; } ; APPLY_OPERATIONS ; Finally, it checks that the balance and storage are the ones expected: GET_BALANCE ; PRINT_STACK ; STEP \"retrieved the balance of the contract\" ; PUSH mutez 23 ; IFCMPNEQ { PUSH string \"balance should be 23utz\" ; FAILWITH } {} ; GET_STORAGE nat ; IF_NONE { PUSH string \"unable to retrieve storage of contract\" ; FAILWITH } { PRINT_STACK ; STEP \"retrieved the storage of the contract\" ; PUSH nat 1 ; IFCMPNEQ { PUSH string \"storage should be 1 (nat)\" ; FAILWITH } {} ; }\n} The test passes and its output is $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/transfer.techel\nRunning test `Transfer` running test script... applying operation CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (3utz) address[1]@main running test script... applying operation TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False live contracts: SimpleExample (3utz) address[1]@main running TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False\n=> live contracts: SimpleExample (10utz) address[1]@main applying operation TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True live contracts: SimpleExample (10utz) address[1]@main running TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True\n=> live contracts: SimpleExample (23utz) address[1]@main => live contracts: SimpleExample (23utz) address[1]@main running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| 23utz |\n| mutez |\n|==================================================================================================| running test script...\nstopping [retrieved the balance of the contract] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| 1 |\n| nat |\n|==================================================================================================| running test script...\nstopping [retrieved the storage of the contract] press `return` to continue running test script...\nDone running test `Transfer`","breadcrumbs":"Running Tests » Transfers","id":"12","title":"Transfers"},"13":{"body":"This section is going to use a slightly more complex contract in order to showcase failures and how to test them. Even if you are not familiar with liquidity , the contract's code will most likely be more readable in liquidity than in michelson. Here is the liquidity version, admins.liq : [%%version 0.405] type storage = { admins : (string, address) map ; (* Unused in this example. *) nus : (string, (address * tez * UnitContract.instance)) map ;\n} let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address) (storage : storage) : operation list * storage = admin_check storage admin_name (Current.sender ()); let storage = storage.admins <- Map.update nu_name (Some nu_address) storage.admins in [], storage Note that the clients field of the storage is unused in this example. The admins map maps administrator names to addresses. The only entry point (in this example) is add_admin which allows administrators to add new administrators by registering their name and their address. More precisely, calling this contract is only legal if the SENDER ( Current.sender () ) of the call is an administrator ( c.f. admin_check ). If the call to the contract is not legal, the transfer fails: let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" The parameters of the entry point are admin_name : name associated with the SENDER administrator, nu_name : name of the new administrator to add, nu_address : the address of the new administrator. let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address) Using liquidity to compile the contract to michelson (for instance using liquidity's online editor ), we obtain admins.tz . Here are the storage and parameter types: parameter (pair string (pair string address));\nstorage (pair :storage (map %admins string address) (map %clients string (pair address (pair mutez (contract :UnitContract unit))))); We omit the contract's code ( admins.tz ) as i) it is not very readable and ii) we do not need to know what the code precisely is to create the contract and call it, as long as we know the storage and parameter types.","breadcrumbs":"Running Tests » Testing for Failures","id":"13","title":"Testing for Failures"},"14":{"body":"Creating a contract has been covered in previous sections, so let's give ourselves some code to create the contract with one administrator called root . In fact, let's make an account for root and register it as an administrator. The new administrator new_admin is also deployed as an account. Testcase create.techel does exactly that: { NIL operation ; { # Create an account for `root`. PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@root_manager\" ; SHA512 ; CREATE_ACCOUNT @root ; } ; SWAP ; DIP { CONS } ; { # Create an account for `new_admin`. PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@new_admin_manager\" ; SHA512 ; CREATE_ACCOUNT @new_admin ; } ; SWAP ; DIP { SWAP ; DIP CONS } ; { # Create an `admins` contract. # Create the storage's (empty) `clients` field. EMPTY_MAP @clients string (pair address (pair mutez (contract unit))) ; # Create the storage's `admins` field and register `root`. EMPTY_MAP @admins string address ; DUUUUP ; # Retrieve root's address. SOME @address ; PUSH @name string \"root\" ; PRINT_STACK ; UPDATE ; PAIR @storage ; PUSH @balance mutez 0 ; PUSH @delegatable bool True ; PUSH @spendable bool False ; PUSH @delegate (option key_hash) None ; PUSH @manager key \"@contract_manager\" ; SHA512 ; CREATE_CONTRACT @admins \"Admins\" } ; SWAP ; DIP { SWAP ; DIP { SWAP ; DIP CONS } } ; DIIIP { APPLY_OPERATIONS } ; PRINT_STACK ; STEP \"after applying creation operations.\"\n} Running this test produces the following output $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/create.techel\nRunning test `Create` running test script...\nstack:\n|==================================================================================================|\n| [ CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; }, CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } ] |\n| (list operation) |\n|--------------------------------------------------------------------------------------------------|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @clients |\n| Map { } |\n| (map string (pair address (pair mutez (contract unit)))) |\n|--------------------------------------------------------------------------------------------------|\n| @admins |\n| Map { } |\n| (map string address) |\n|--------------------------------------------------------------------------------------------------|\n| @address |\n| (Some address[1]@root) |\n| (option address) |\n|--------------------------------------------------------------------------------------------------|\n| @name |\n| \"root\" |\n| string |\n|==================================================================================================| running test script... applying operation CREATE[uid:2] (@address[3]@admins, \"sha512:@contract_manager\", None, false, true, 0utz) \"Admins\" live contracts: none\n=> live contracts: Admins (0utz) address[3]@admins\napplying operation CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\napplying operation CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @admins |\n| address[3]@admins |\n| address |\n|==================================================================================================| running test script...\nstopping [after applying creation operations.] press `return` to continue running test script...\nDone running test `Create`","breadcrumbs":"Running Tests » Creation","id":"14","title":"Creation"},"15":{"body":"Let's now add new_admin as a new administrator. Testcase addAdmin.techel only adds the following few instructions at the end of create.techel : # Retrieve the actual contract. CONTRACT (pair string (pair string address)) ; IF_NONE { PUSH string \"failed to retrieve `admins` contract\" ; STEP } {} ; # Saving the contract for later. DUP ; PUSH @amount mutez 0 ; # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; TRANSFER_TOKENS ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS ; What should the result of applying this transfer be? Remember than before adding an administrator, the contract checks that the sender is an admin. let admin_check (storage : storage) (name : string) (a : address) : unit = match Map.find name storage.admins with | None -> failwith \"only admins can perform administrative tasks\" | Some address -> if address <> a then failwith \"illegal access to admin account\" let%entry add_admin ((admin_name, nu_name, nu_address) : string * string * address)\n...\n= admin_check storage admin_name (Current.sender ()); ... So, if everything goes well, the transfer should fail: the sender here is not root , but the testcase. In techelson, the testcase currently running has its own address. It is in particular not the address of root . Hence, the transfer fails as it should and so does the whole testcase. The (relevant part of the) output is Test `AddAdmin` failed: Error operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) was expected to succeed but failed on operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) operation failed on \"illegal access to admin account\" : string You can see in the transfer the sender and the target of the transfer: TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins AddAdmin is the name of our testcase, and address[0]@AddAdmin is its address. Name \"root\" does not map to this address in the contract and the transfer fails.","breadcrumbs":"Running Tests » Transfer Failures","id":"15","title":"Transfer Failures"},"16":{"body":"Before getting into making this transfer work (next section), note that this (failing) testcase is actually useful. Or at least it should be: the transfer we are trying to make is illegal indeed. We do want the transfer to fail, but the testcase should succeed if the transfer does fail, fail if the transfer succeeds: anyone can add admins, which is bad . This is what the MUST_FAIL techelson extension does. It takes an operation wraps it in a construct telling techelson that this operation must fail: either the operation itself or, if it is a transfer, the operations created by this transfer. Here is its signature: instruction parameter stack MUST_FAIL :: option : operation : 'S -> operation : 'S Let's ignore the parameter and the first stack argument for now and just use this instruction right away. Testcase mustFail.techel is the same as addAdmin.techel except for a few lines after the transfer: TRANSFER_TOKENS ; PUSH (option string) None ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; The test now passes successfully: $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/mustFail.techel\nRunning test `MustFail` running test script... applying operation CREATE[uid:2] (@address[3]@admins, \"sha512:@contract_manager\", None, false, true, 0utz) \"Admins\" live contracts: none\n=> live contracts: Admins (0utz) address[3]@admins\napplying operation CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\napplying operation CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @this_must_fail |\n| MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) |\n| operation |\n|==================================================================================================| running test script... applying operation MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root => live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nDone running test `MustFail`","breadcrumbs":"Running Tests » Handling Failures","id":"16","title":"Handling Failures"},"17":{"body":"Now, MUST_FAIL (as it is used here) succeeds if the transfer ends in a tezos protocol failure. This include explicit failures in the code, illegal transfers due to insufficient funds, duplicate operations, etc. It does not include type-checking errors and internal techelson errors. This means in particular that if the transfer above fails for a reason different from \"illegal access to admin account\" then MUST_FAIL will consider the test a success. To make sure the cause for failure is actually the one we want, we must use MUST_FAIL 's optional stack parameter. A failure in michelson code always has a value of some type associated to it. In this case, the type of this value is string and its value is \"illegal access to admin account\" . Testcase preciseMustFail.techel only changes mustFail.techel to pass the failure value expected to MUST_FAIL : TRANSFER_TOKENS ; PUSH (option string) (Some \"illegal access to admin account\") ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; As a consequence, if the transfer fails with anything else than an explicit failure with a value of type string equal to \"illegal access to admin account\" , then the whole testcase will fail. Everything works fine here, and the output is $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/preciseMustFail.techel\nRunning test `PreciseMustFail` running test script... applying operation CREATE[uid:2] (@address[3]@admins, \"sha512:@contract_manager\", None, false, true, 0utz) \"Admins\" live contracts: none\n=> live contracts: Admins (0utz) address[3]@admins\napplying operation CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\napplying operation CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @this_must_fail |\n| MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) |\n| operation |\n|==================================================================================================| running test script... applying operation MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))) live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root => live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nDone running test `PreciseMustFail` Notice that the MUST_FAIL operation now mentions the value expected: MUST_FAIL[uid:4] \"illegal access to admin account\" : string (TRANSFER[uid:3] ...) as opposed to the _ wildcard from testcase mustFail.techel , which means no value was given: MUST_FAIL[uid:4] _ (TRANSFER[uid:3] ...)","breadcrumbs":"Running Tests » (More) Precise Failure Testing","id":"17","title":"(More) Precise Failure Testing"},"18":{"body":"The previous section used the liquidity contract admins.liq and its techelson version admins.tz . It showcased how to handle expected transfer failures and turn them into test objectives. The failure used to demonstrate the example was that we tried to add a new administrator by calling the contract from the testcase, which failed because only administrators can add other administrators, and the (address of the) testcase was not registered as such. PUSH @amount mutez 0 ; # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; TRANSFER_TOKENS ; PUSH (option string) (Some \"illegal access to admin account\") ; MUST_FAIL @this_must_fail string ; PRINT_STACK ; DIP {NIL operation } ; CONS ; APPLY_OPERATIONS ; One solution would be to register the testcase directly, but it would be more natural and more generic to be able to apply a transfer as someone else. Hence the SET_SOURCE extension: instruction parameter stack SET_SOURCE code :: address : 'A -> 'B iff code :: [ A -> B ] Warning : the SET_SOURCE extension is only legal in testcases. This extension allows to pretend the testcase is a live contract or account from the environment. More precisely, all operations created in the code under the SET_SOURCE will have their source and sender be the address from the stack. Testcase setSource.techel uses this instruction to pretend that root is the one adding a new administrator. # New admin's address. DUUUUP ; # New admin's name. PUSH @new_name string \"new_admin\" ; PAIR ; # Root's name. PUSH @name string \"root\" ; PAIR @storage ; { # Pretending to be `root`. DUUUUUUP ; PRINT_STACK ; STEP ; SET_SOURCE { TRANSFER_TOKENS } } ; PRINT_STACK ; DIP { NIL operation } ; CONS ; APPLY_OPERATIONS The testcase now succeeds, and its output is $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/setSource.techel\nRunning test `SetSource` running test script... applying operation CREATE[uid:2] (@address[3]@admins, \"sha512:@contract_manager\", None, false, true, 0utz) \"Admins\" live contracts: none\n=> live contracts: Admins (0utz) address[3]@admins\napplying operation CREATE[uid:1] (@address[2]@new_admin, \"sha512:@new_admin_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\napplying operation CREATE[uid:0] (@address[1]@root, \"sha512:@root_manager\", None, true, true, 0utz) { storage unit ; parameter unit ; code ...; } live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| @amount |\n| 0utz |\n| mutez |\n|--------------------------------------------------------------------------------------------------|\n| @storage |\n| (\"root\", (\"new_admin\", address[2]@new_admin)) |\n| (pair string (pair string address)) |\n|--------------------------------------------------------------------------------------------------|\n| address[1]@root |\n| address |\n|==================================================================================================| running test script...\nstopping [no information] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| @root |\n| address[1]@root |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| @new_admin |\n| address[2]@new_admin |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| address[3]@admins |\n| (contract (pair string (pair string address))) |\n|--------------------------------------------------------------------------------------------------|\n| TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) |\n| operation |\n|==================================================================================================| running test script... applying operation TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin)) live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz (\"root\", (\"new_admin\", address[2]@new_admin))\n=> live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root => live contracts: (0utz) address[2]@new_admin Admins (0utz) address[3]@admins (0utz) address[1]@root running test script...\nDone running test `SetSource` Notice how, in the last PRINT_STACK , the sender of the transfer is now root : TRANSFER[uid:3] address[1]@root -> address[3]@admins ...","breadcrumbs":"Running Tests » Usurpation of Identity","id":"18","title":"Usurpation of Identity"},"19":{"body":"Techelson has a test generation feature. It is relatively naive: the testcases it generates do not really take the semantics of your contract into account. Given a contract, it will generate a random storage for that contract and deploy it. Then, it will create a random number of transfers to that contract with random parameters. Note that while test generation is random, it is expected to be deterministic: the same test generation command on a contract should always generate the same test cases. It is naive in the sense that it can (and statistically will) generate testcases which are not successful. Still, this feature is useful to generate a testcase skeleton with random contract creation and transfers that you can edit to test the behavior of your contract.","breadcrumbs":"Test Generation","id":"19","title":"Test Generation"},"2":{"body":"Let us build a contract which counts how many time it was called. We will allow clients to specify that they do not want to be counted by passing a boolean ghost : if it is true, the contract will not count the transfer. Based on this description, we already have the storage and parameter types: storage nat;\nparameter bool; The code of this contract should perform the following steps: destroy the parameter/storage pair branch on the ghost parameter: this consumes the parameter, meaning the storage is now on the top of the stack do nothing if ghost is true: the storage is unchanged add 1 to the storage otherwise pair an empty list of operations with the new storage The complete description of the contract, simpleExample.tz , is thus storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n};","breadcrumbs":"Michelson » A Simple Example","id":"2","title":"A Simple Example"},"20":{"body":"Let's showcase testgeneration on simpleExample.tz : storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n}; Test generation is activated by passing to techelson a testgen argument triggering the test generation mode. You can read more about modes in the Usage section . First, let's generate a single testcase ( -n 1 , or --count 1 ) and let techelson run it: $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1\ndone generating test for contract SimpleExample\nRunning test `SimpleExampleTest1` running test script... applying operation CREATE[uid:0] (@address[1], \"blake2b:11a6ffbc9fb85\", None, false, false, 638557938255190utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (638557938255190utz) address[1] running test script... applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True live contracts: SimpleExample (638557938255190utz) address[1] running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True\n=> live contracts: SimpleExample (759142736525198utz) address[1] => live contracts: SimpleExample (759142736525198utz) address[1] running test script...\nDone running test `SimpleExampleTest1` While this can be useful for simple contracts, usually you want to retrieve the testcase directly so that you can modify it to suit your needs. So let's still generate one testcase but this time we will dump it in the current directory (trailing . in the techelson command). $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1 . ; echo ; echo \"testcase:\" ; echo ; cat SimpleExampleTest1.techel ; rm SimpleExampleTest1.techel\ndone generating test for contract SimpleExample\ndumping testcases to `.` testcase: { # deploying contract `SimpleExample` { # creating contract creation parameters { # creating storage for contract `SimpleExample` PUSH nat 807338681362247 ; # money transferred PUSH mutez 638557938255190 ; # delegatable PUSH bool False ; # spendable PUSH bool False ; # delegate NONE key_hash ; # manager { PUSH key \"11a6ffbc9fb85\" ; BLAKE2B } } ; CREATE_CONTRACT \"SimpleExample\" } ; # create a list of operations and apply { NIL operation ; SWAP ; CONS ; APPLY_OPERATIONS } ; # create transfer operation { DUP ; # retrieve contract from address, fail if none { CONTRACT bool ; IF_NONE { PUSH string \"unable to spawn contract `SimpleExample`\" ; FAILWITH } {} } ; PUSH mutez 120584798270008 ; PUSH bool True ; TRANSFER_TOKENS } ; # create a list of operations and apply { NIL operation ; SWAP ; CONS ; APPLY_OPERATIONS }\n}","breadcrumbs":"Test Generation » Example","id":"20","title":"Example"},"21":{"body":"This section provides a quick overview of some of techelson's features: list of all the extensions (brief) discussion on techelson's command-line usage These sections try to provide relatively raw, brief and crucial information about the features they discuss. They will usually point to the relevant sections of this book if you need more details.","breadcrumbs":"Quick Reference","id":"21","title":"Quick Reference"},"22":{"body":"Warning : the following instructions can only be used in contracts, not testcases : SENDER SOURCE Techelson testcases have access to an extended instruction set to ease the process of writing tests. See rsc/tests/ for more examples. Note that techelson treats #> as whitespace, so you can use extensions in contracts (when legal ) while keeping them pure michelson, like in the example below DIP { ... CONS ; #> PRINT_STACK ; #> STEP \"after list cons\" ; PUSH int 3 ; ...\n}","breadcrumbs":"Quick Reference » Extensions","id":"22","title":"Extensions"},"23":{"body":"The following instructions are legal in testcases and contracts : STEP and STEP : 'S -> 'S Relevant section of this book: First Steps . suspends the evaluator and prints a string, if any. PRINT_STACK : 'S -> 'S Relevant section of this book: First Steps . prints the current state of the stack","breadcrumbs":"Quick Reference » Unrestricted Extensions","id":"23","title":"Unrestricted Extensions"},"24":{"body":"The following instructions are only legal in testcases: CREATE_CONTRACT : :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S Relevant section of this book: Creating and Calling Contracts . Creates an instance of the contract named after the string parameter. The type of the storage of the contract must be 'g . SPAWN_CONTRACT 'g : :: string : key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S Relevant section of this book: Creating and Calling Contracts . Exactly the same as the CREATE_CONTRACT extension above but the name of the contract is passed as a stack parameter, and the type of the storage is an explicit parameter of the instruction. APPLY_OPERATIONS : (list operation) : 'S -> 'S Relevant section of this book: Creating and Calling Contracts . consumes a list of operations suspends the execution of the testcase applies all the operations in the list (these operations can create operations which will be applied too) resumes the execution of the testcase GET_STORAGE 'storage : contract _ : 'S -> (option 'storage) : 'S address : 'S -> (option 'storage) : 'S Relevant section of this book: Live Contract Inspection . consumes a contract pushes Some of the current value of the storage of the contract if its storage has type 'storage , None otherwise GET_BALANCE : contract _ : 'S -> mutez : 'S address : 'S -> mutez : 'S Relevant section of this book: Live Contract Inspection . Same as GET_STORAGE , but pushes the balance of the contract instead of its storage MUST_FAIL 'a : (option 'a) : operation : 'S -> 'S Relevant section of this book: Testing for Failures . Specifies that an operation (or the operation it creates recursively) must fail, and optionaly that it FAIL ed WITH a certain value. More precisely, the whole testcase will fail if the operation or the operations it creates recursively, when applied , either succeeds, or the (option 'a) parameter is (Some value) and the operation's failure was not caused by a FAILWITH on precisely value Note that if the optional value is NONE , then MUST_FAIL accepts any kind of protocol failure, not just FAILWITH . For instance, it will also accept creation/transfer operations that fail because of insufficient balance, because this precise operation already ran (it was DUP -ed), etc . SET_SOURCE code , with code :: [ 'A -> 'B ] address :: 'A -> 'B Relevant section of this book: Usurpation of Identity . Sets the source of the testcase. Without this extension, the source of all transfers can only be the testcase. This allows to run code while pretending the testcase is a different live contract.","breadcrumbs":"Quick Reference » Testcase-only Extensions","id":"24","title":"Testcase-only Extensions"},"25":{"body":"Warning : so-called contract initializers are mentioned in the --help but are not currently supported. The full list of options (for the nominal mode) is obtained with --help : $ techelson --help\nUSAGE: ../bin/techelson [OPTIONS] -- [FILES]* ../bin/techelson [OPTIONS] testgen [TESTGEN_OPTIONS] [-- DIR]? OPTIONS: -h, --help prints this help message -v, --verb ? increases or sets verbosity [default: 1] -q decreases verbosity -s, --step (on|true|True|no|off|false|False)? (de)activates step-by-step evaluation [default: false] --skip (on|true|True|no|off|false|False)? if true, all steps will automatically advance (and `--step` will be set to false) [default: false] --contract ',' ? adds a contract to the test environment. The second optional argument is the contract's initializer. MODES: testgen activates and controls test generation run `../bin/techelson --help` to obtain help on a specific mode. For example: `../bin/techelson testgen --help`","breadcrumbs":"Quick Reference » Command-Line Options","id":"25","title":"Command-Line Options"},"26":{"body":"Modes available: testgen : Test Generation Techelson's modes are triggered by simply passing the name of the mode as an argument. For instance, $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 2\ndone generating tests for contract SimpleExample\nRunning test `SimpleExampleTest1` running test script... applying operation CREATE[uid:0] (@address[1], \"blake2b:11a6ffbc9fb85\", None, false, false, 638557938255190utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (638557938255190utz) address[1] running test script... applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True live contracts: SimpleExample (638557938255190utz) address[1] running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True\n=> live contracts: SimpleExample (759142736525198utz) address[1] => live contracts: SimpleExample (759142736525198utz) address[1] running test script...\nDone running test `SimpleExampleTest1`\nRunning test `SimpleExampleTest2` running test script... applying operation CREATE[uid:0] (@address[3], \"blake2b:\", (Some \"blake2b:\"), true, true, 290035844265409utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (290035844265409utz) address[3] running test script... applying operation TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True live contracts: SimpleExample (290035844265409utz) address[3] running TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True\n=> live contracts: SimpleExample (810126422944596utz) address[3] => live contracts: SimpleExample (810126422944596utz) address[3] running test script... applying operation TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False live contracts: SimpleExample (810126422944596utz) address[3] running TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False\n=> live contracts: SimpleExample (1655160698449470utz) address[3] => live contracts: SimpleExample (1655160698449470utz) address[3] running test script...\nDone running test `SimpleExampleTest2` You can have techelson print the options for mode with techelson --help .","breadcrumbs":"Quick Reference » Modes","id":"26","title":"Modes"},"27":{"body":"Given a contract, this mode is in charge of generating a testcase automatically. The relevant chapter of this book is Test Generation . $ techelson testgen --help\nGenerates testcases for some contract(s). If a directory is provided, the testcases will\nbe dumped there. Otherwise techelson will just run the testcases it generated. USAGE: ../bin/techelson [OPTIONS] testgen [TESTGEN_OPTIONS] [-- DIR]? TESTGEN_OPTIONS: -h, --help prints this help message -n, --count sets the number of testcases to generate [default: 1]","breadcrumbs":"Quick Reference » Test Generation","id":"27","title":"Test Generation"},"3":{"body":"Interaction with techelson is currently file-based. There are two kinds of files techelson works with. Contract files are just plain michelson smart contract files, and testcase files are files containing a Michelson instruction, usually a sequence of instructions { } . Omitting options, running techelson looks like (the -- separator is optional): $ techelson \\ --contract .. --contract \\ -- ... Techelson will then run the testcases in sequence. All testcases will have access to all the contracts provided with --contract . For more information about command-line refer to the Usage section . This section builds on the small example from the Michelson section , and a slightly more involved example later on, to introduce techelson's workflow and its extended instruction set. First Steps shows how to run a simple testcase with no contract. Introduces PRINT_STACK and STEP . Creating and Calling Contracts discusses the contract environment and contract creation and transfers. Introduces APPLY_OPERATIONS . Live Contract Inspection deals with recovering the balance and the storage of live (deployed) contracts. Introduces GET_BALANCE and GET_STORAGE . Anonymous Contracts details how to create anonymous contracts. Transfers introduces the creation of transfers to a contract. Testing for Failures shows how to test that an operation fails and how. This section is the first to use the slightly more complex example admins.tz , and it's liquidity version admins.liq . Introduces MUST_FAIL . Usurpation of Identity illustrates how to have your testcases pretend they are a specific contract/account, and to create operations in their name. Introduces SET_SOURCE .","breadcrumbs":"Running Tests","id":"3","title":"Running Tests"},"4":{"body":"Let's give ourselves a testcase file test1.techel { PUSH string \"starting the test\" ;\n} This testcase does not use any contract. To run it, simply run $ techelson rsc/no_contract/okay/test1.techel\nRunning test `Test1` running test script...\nDone running test `Test1`","breadcrumbs":"Running Tests » First Steps","id":"4","title":"First Steps"},"5":{"body":"This is not very informative, which is why techelson provides extensions such as PRINT_STACK . This instruction prints the state of the stack in a readable way. For example, if we change the example above to test2.techel to { PUSH string \"starting the test\" ; PRINT_STACK\n} the output becomes $ techelson rsc/no_contract/okay/test2.techel\nRunning test `Test2` running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================| running test script...\nDone running test `Test2`","breadcrumbs":"Running Tests » Introspection","id":"5","title":"Introspection"},"6":{"body":"When you run a complex testcase or contract, it can be useful to have break point that stop the execution. This gives you time to read a PRINT_STACK before the next step is actually performed, make one step, read the state of the stack, etc. The STEP techelson extension allows to do just that. You can also provide a string that will be displayed when the STEP instruction is reached. The following example ( test3.techel ) showcases the STEP instruction: { PUSH string \"starting the test\" ; PRINT_STACK ; STEP \"just started the test\" ; # The description string is optional, see below. PUSH @not_important string \"a string with a variable name\" ; PRINT_STACK ; STEP ; # No description string. DROP ; PRINT_STACK ; STEP \"The string should be gone. Also, we're done.\"\n} Techelson will stop on all STEP instructions and ask you to press enter to keep going: $ techelson rsc/no_contract/okay/test3.techel\nRunning test `Test3` running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================| running test script...\nstopping [just started the test] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|--------------------------------------------------------------------------------------------------|\n| @not_important |\n| \"a string with a variable name\" |\n| string |\n|==================================================================================================| running test script...\nstopping [no information] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| \"starting the test\" |\n| string |\n|==================================================================================================| running test script...\nstopping [The string should be gone. Also, we're done.] press `return` to continue running test script...\nDone running test `Test3` Pro tip 1 : you can use PRINT_STACK and STEP in contracts too (see the extensions section for details). Also, techelson treats #> as a whitespace. Hence, your can have #> STEP ; and/or #> PRINT_STACK ; in your michelson contract, which lets you inspect it during tests. Your contract remains legal michelson thanks to the leading # which comments the command. Pro tip 2 : passing --skip on to techelson will skip (but still display) all the steps. The output of the commands reported in this book are all obtained by running techelson with --skip on .","breadcrumbs":"Running Tests » Steps","id":"6","title":"Steps"},"7":{"body":"When you pass a contract to techelson using techelson --contract ... , the contract becomes a named contract in the techelson environment. The name of the contract is the name of the file up to its first . character, with the first letter capitalized. So techelson \\ --contract my_contract.tz \\ --contract myContract.tz \\ --contract my.contract.tz \\ ... defines three named contracts: My_contract , MyContract and My . Note that the naming convention is the same for testcases, based on the testcase file. The name of a testcase might be used in techelson's output to provide information, but it has no practical use currently.","breadcrumbs":"Running Tests » Creating and Calling Contracts","id":"7","title":"Creating and Calling Contracts"},"8":{"body":"Techelson extends the CREATE_CONTRACT michelson instruction with the following rule instruction parameter stack CREATE_CONTRACT :: key_hash : option key_hash : bool : bool : mutez : 'g : 'S -> operation : address : 'S where is the name of a contract with storage type 'g in the environment. The semantics of the stack parameters is the same as in michelson: manager, optional delegate, the two spendable and delegatable flags, and the balance and storage of the contract created. NB : techelson also provides the SPAWN_CONTRACT extension which takes the name of the contract on the stack. See techelson's Extensions for more details. Say we have the following contract in file simpleExample.tz . storage nat;\nparameter bool;\ncode { UNPAIR; # Unpair parameter and storage. IF { # Asked not to count: storage is unchanged, nothing to do. } { PUSH nat 1; ADD }; NIL operation; # We don't want to perform any operations. PAIR # Aggregate the operation list and the new storage.\n}; We can craft a creation operation in file create1.techel as follows { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; PRINT_STACK ; STEP \"before creation\" ; CREATE_CONTRACT \"SimpleExample\" ; PRINT_STACK ; STEP \"after creation\" ;\n} This produces the following output $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create1.techel\nRunning test `Create1` running test script...\nstack:\n|==================================================================================================|\n| @storage |\n| 0 |\n| nat |\n|--------------------------------------------------------------------------------------------------|\n| @amount |\n| 3utz |\n| mutez |\n|--------------------------------------------------------------------------------------------------|\n| @delegatable |\n| True |\n| bool |\n|--------------------------------------------------------------------------------------------------|\n| @spendable |\n| True |\n| bool |\n|--------------------------------------------------------------------------------------------------|\n| @delegate |\n| None |\n| (option key_hash) |\n|--------------------------------------------------------------------------------------------------|\n| @manager |\n| \"sha512:manager address\" |\n| key_hash |\n|==================================================================================================| running test script...\nstopping [before creation] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| address[1] |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| CREATE[uid:0] (@address[1], \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" |\n| operation |\n|==================================================================================================| running test script...\nstopping [after creation] press `return` to continue running test script...\nDone running test `Create1`","breadcrumbs":"Running Tests » Named Contract Creation","id":"8","title":"Named Contract Creation"},"9":{"body":"Michelson operations (contract/account creation, transfers) cannot be applied directly in a michelson contract. Instead, a contract produces a list of operation which the tezos runtime applies after the contract is done running. A techelson test case needs to be able to apply operations however, which is why the APPLY_OPERATIONS extension exists. This instruction suspends the execution of the testcase to apply the list of operations on the top of the stack. When all these operations are done running, techelson resumes the execution of the testcase. Warning : this instruction is only legal in testcases, not in contracts. Consider testcase create2.techel : { PUSH @storage nat 0 ; PUSH @amount mutez 3 ; PUSH @delegatable bool True ; PUSH @spendable bool True ; NONE @delegate key_hash ; PUSH key \"manager address\" ; SHA512 @manager ; CREATE_CONTRACT @main @main_op \"SimpleExample\" ; DIP { NIL operation } ; CONS ; PRINT_STACK ; STEP \"operation is now in a list\" ; APPLY_OPERATIONS ; PRINT_STACK ; STEP \"testing that contract exists\" ; # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. CONTRACT bool ; IF_NONE { # There is no hope, failing. PUSH @err_msg string \"failed to retrieve contract\" ; FAILWITH } { PUSH string \"success\" ; PRINT_STACK }\n} Running it yields $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create2.techel\nRunning test `Create2` running test script...\nstack:\n|==================================================================================================|\n| @main |\n| address[1]@main |\n| address |\n|--------------------------------------------------------------------------------------------------|\n| [ CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" ] |\n| (list operation) |\n|==================================================================================================| running test script...\nstopping [operation is now in a list] press `return` to continue running test script... applying operation CREATE[uid:0] (@address[1]@main, \"sha512:manager address\", None, true, true, 3utz) \"SimpleExample\" live contracts: none\n=> live contracts: SimpleExample (3utz) address[1]@main running test script...\nstack:\n|==================================================================================================|\n| @main |\n| address[1]@main |\n| address |\n|==================================================================================================| running test script...\nstopping [testing that contract exists] press `return` to continue running test script...\nstack:\n|==================================================================================================|\n| address[1]@main |\n| (contract bool) |\n|--------------------------------------------------------------------------------------------------|\n| \"success\" |\n| string |\n|==================================================================================================| running test script...\nDone running test `Create2` Notice the line Applying operations... . We could increase techelson's verbosity to obtain more information as to which contracts are deployed, but let's see how to inspect the state of a live (deployed) contract instead.","breadcrumbs":"Running Tests » Applying Operations","id":"9","title":"Applying Operations"}},"length":28,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"4":{"0":{"5":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"14":{"tf":3.7416573867739413},"15":{"tf":1.4142135623730951},"16":{"tf":4.898979485566356},"17":{"tf":4.898979485566356},"18":{"tf":5.0}}}}}},"1":{"0":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"5":{"8":{"4":{"7":{"9":{"8":{"2":{"7":{"0":{"0":{"0":{"8":{"df":1,"docs":{"20":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"6":{"5":{"5":{"1":{"6":{"0":{"6":{"9":{"8":{"4":{"4":{"9":{"4":{"7":{"0":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"25":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":2.0}}}}}},"9":{"0":{"0":{"3":{"5":{"8":{"4":{"4":{"2":{"6":{"5":{"4":{"0":{"9":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"26":{"tf":1.0},"6":{"tf":1.0}}},"3":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}}},"5":{"2":{"0":{"0":{"9":{"0":{"5":{"7":{"8":{"6":{"7":{"9":{"1":{"8":{"7":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"3":{"8":{"5":{"5":{"7":{"9":{"3":{"8":{"2":{"5":{"5":{"1":{"9":{"0":{"df":1,"docs":{"20":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.7320508075688772},"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"5":{"9":{"1":{"4":{"2":{"7":{"3":{"6":{"5":{"2":{"5":{"1":{"9":{"8":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"8":{"0":{"7":{"3":{"3":{"8":{"6":{"8":{"1":{"3":{"6":{"2":{"2":{"4":{"7":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"0":{"1":{"2":{"6":{"4":{"2":{"2":{"9":{"4":{"4":{"5":{"9":{"6":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"5":{"0":{"3":{"4":{"2":{"7":{"5":{"5":{"0":{"4":{"8":{"7":{"4":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"17":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"24":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"20":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"0":{"]":{"@":{"a":{"d":{"d":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"12":{"tf":2.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{"@":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":3.4641016151377544},"9":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":3.4641016151377544}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"20":{"tf":2.6457513110645907},"26":{"tf":2.6457513110645907},"8":{"tf":1.4142135623730951}}},"2":{"]":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"15":{"tf":1.4142135623730951},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":3.605551275463989}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"26":{"tf":2.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"]":{"@":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"15":{"tf":1.7320508075688772},"16":{"tf":3.605551275463989},"17":{"tf":3.605551275463989},"18":{"tf":4.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"26":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":4.0},"14":{"tf":3.605551275463989},"15":{"tf":3.1622776601683795},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"24":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.449489742783178}}}}}}},"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"18":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":6,"docs":{"13":{"tf":2.6457513110645907},"14":{"tf":3.605551275463989},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"17":{"tf":4.0},"18":{"tf":3.1622776601683795}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":3.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"18":{"tf":2.0}}}}}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"z":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"17":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":6,"docs":{"11":{"tf":2.449489742783178},"14":{"tf":2.0},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"3":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"20":{"tf":2.0},"24":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"26":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":2.0},"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"2":{"b":{":":{"1":{"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":6,"docs":{"0":{"tf":2.23606797749979},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0},"6":{"tf":1.0}}},"l":{"df":9,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"24":{"tf":2.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"c":{".":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"27":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"2":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":13,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":2.23606797749979},"16":{"tf":1.4142135623730951},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}},"x":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"17":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"(":{"df":1,"docs":{"27":{"tf":1.0}}},"/":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":26,"docs":{"0":{"tf":3.1622776601683795},"1":{"tf":3.3166247903554},"10":{"tf":4.58257569495584},"11":{"tf":4.69041575982343},"12":{"tf":3.872983346207417},"13":{"tf":2.449489742783178},"14":{"tf":3.4641016151377544},"15":{"tf":2.449489742783178},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":4.0},"19":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":4.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.7416573867739413},"25":{"tf":1.7320508075688772},"26":{"tf":3.872983346207417},"27":{"tf":1.0},"3":{"tf":3.872983346207417},"4":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":3.1622776601683795},"8":{"tf":2.449489742783178},"9":{"tf":3.872983346207417}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"8":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"13":{"tf":1.0},"14":{"tf":3.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"24":{"tf":2.6457513110645907},"3":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"0":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}},"2":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{")":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"9":{"tf":1.0}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"11":{"tf":1.0},"21":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"26":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"0":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"27":{"tf":1.0}}}},"p":{"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.7320508075688772}}}}},"d":{"df":1,"docs":{"24":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"c":{"df":4,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"23":{"tf":1.0},"25":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.0},"13":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"24":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":11,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":2.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.6457513110645907},"18":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"s":{"df":8,"docs":{"12":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"25":{"tf":1.0},"3":{"tf":2.449489742783178},"4":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"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":1,"docs":{"10":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":2,"docs":{"24":{"tf":2.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"0":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":3.0},"20":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.449489742783178}}}}},"t":{"_":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.0},"2":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"n":{"df":4,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":2,"docs":{"1":{"tf":1.0},"15":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":3,"docs":{"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.7320508075688772}}}},"n":{"c":{"df":4,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"18":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":2.8284271247461903},"18":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"3":{"tf":2.6457513110645907}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"t":{"'":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"24":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":2.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"%":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}}}}},"'":{"df":7,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"9":{"tf":1.0}}},"df":1,"docs":{"6":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"11":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"0":{"tf":2.0},"13":{"tf":2.0},"18":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"v":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.6457513110645907},"14":{"tf":2.449489742783178},"16":{"tf":3.0},"17":{"tf":3.0},"18":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":1.7320508075688772},"26":{"tf":3.605551275463989},"3":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"3":{"tf":1.0}}}},"w":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}},"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"p":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"13":{"tf":2.449489742783178},"14":{"tf":2.0},"15":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},"df":11,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":2.23606797749979},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":2.6457513110645907},"27":{"tf":1.0}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":11,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"4":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":2.0},"13":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":2.6457513110645907},"18":{"tf":2.449489742783178},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":1.7320508075688772}}}},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.8284271247461903},"12":{"tf":2.23606797749979},"2":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":4,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}},"n":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":14,"docs":{"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"14":{"tf":3.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":2.0},"18":{"tf":2.0},"20":{"tf":2.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0}}},"h":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"i":{"c":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"13":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"|":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":17,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.6457513110645907},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.0},"16":{"tf":3.3166247903554},"17":{"tf":2.6457513110645907},"18":{"tf":2.8284271247461903},"2":{"tf":2.0},"20":{"tf":3.1622776601683795},"24":{"tf":3.7416573867739413},"26":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":3.4641016151377544}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":2.6457513110645907},"25":{"tf":2.449489742783178},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.7320508075688772}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"24":{"tf":1.0},"27":{"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":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.4641016151377544},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"2":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"24":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.0},"6":{"tf":1.0},"7":{"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":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"6":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":17,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.4641016151377544},"12":{"tf":3.7416573867739413},"14":{"tf":3.7416573867739413},"15":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.449489742783178},"2":{"tf":1.0},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}},"q":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":2.23606797749979}}}}},"df":1,"docs":{"24":{"tf":1.0}}},"w":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}},"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951}}}}}},"l":{"df":3,"docs":{"12":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":7,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":2.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"20":{"tf":1.0}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":3.0},"15":{"tf":2.449489742783178},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":3.3166247903554}}}}},"s":{"c":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"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":{},"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":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"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":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"z":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"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":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":21,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":3.0},"11":{"tf":2.8284271247461903},"12":{"tf":3.3166247903554},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"17":{"tf":2.6457513110645907},"18":{"tf":3.0},"20":{"tf":2.6457513110645907},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":3.7416573867739413},"27":{"tf":1.0},"3":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.0},"6":{"tf":3.3166247903554},"8":{"tf":2.6457513110645907},"9":{"tf":3.4641016151377544}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.6457513110645907},"14":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}}}}}},"df":7,"docs":{"10":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":4.0},"25":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"3":{"tf":2.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"18":{"tf":2.23606797749979},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"h":{"a":{"5":{"1":{"2":{":":{"@":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"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":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":2.8284271247461903},"20":{"tf":3.3166247903554},"26":{"tf":3.7416573867739413},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"i":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"25":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"25":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":2.0},"25":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"4":{"tf":1.0},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"r":{"a":{"df":0,"docs":{},"g":{"df":17,"docs":{"1":{"tf":2.449489742783178},"10":{"tf":3.1622776601683795},"11":{"tf":2.6457513110645907},"12":{"tf":2.449489742783178},"13":{"tf":4.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.0},"2":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":3.0},"3":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},".":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":3.4641016151377544},"14":{"tf":2.449489742783178},"15":{"tf":3.0},"16":{"tf":2.0},"17":{"tf":3.0},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"25":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":2.449489742783178},"20":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}},"df":1,"docs":{"0":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":22,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"a":{"df":0,"docs":{},"s":{"df":18,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.8284271247461903},"27":{"tf":2.23606797749979},"3":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"11":{"tf":1.0}}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":23,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":3.0},"11":{"tf":2.8284271247461903},"12":{"tf":3.1622776601683795},"13":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"17":{"tf":2.8284271247461903},"18":{"tf":3.0},"19":{"tf":2.449489742783178},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":3.605551275463989},"27":{"tf":1.4142135623730951},"3":{"tf":1.7320508075688772},"4":{"tf":2.0},"5":{"tf":2.449489742783178},"6":{"tf":4.0},"8":{"tf":2.6457513110645907},"9":{"tf":3.4641016151377544}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.4142135623730951}}}}}},"df":4,"docs":{"20":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"z":{"df":1,"docs":{"13":{"tf":1.0}},"o":{"df":4,"docs":{"0":{"tf":2.0},"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"p":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"1":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"26":{"tf":2.0}}},"2":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"3":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.23606797749979},"18":{"tf":2.0}}},"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":6,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}}}},"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":3.0},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.8284271247461903},"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"9":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.8284271247461903},"14":{"tf":3.4641016151377544},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":6,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":3.1622776601683795},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}},"df":13,"docs":{"0":{"tf":2.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":3,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"17":{"tf":2.6457513110645907},"24":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"25":{"tf":1.0}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"22":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"breadcrumbs":{"root":{"0":{".":{"4":{"0":{"5":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"14":{"tf":3.7416573867739413},"15":{"tf":1.4142135623730951},"16":{"tf":4.898979485566356},"17":{"tf":4.898979485566356},"18":{"tf":5.0}}}}}},"1":{"0":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"5":{"8":{"4":{"7":{"9":{"8":{"2":{"7":{"0":{"0":{"0":{"8":{"df":1,"docs":{"20":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":1,"docs":{"12":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"6":{"5":{"5":{"1":{"6":{"0":{"6":{"9":{"8":{"4":{"4":{"9":{"4":{"7":{"0":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"25":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":2.0}}}}}},"9":{"0":{"0":{"3":{"5":{"8":{"4":{"4":{"2":{"6":{"5":{"4":{"0":{"9":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"26":{"tf":1.0},"6":{"tf":1.0}}},"3":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"22":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":5,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}}},"5":{"2":{"0":{"0":{"9":{"0":{"5":{"7":{"8":{"6":{"7":{"9":{"1":{"8":{"7":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"3":{"8":{"5":{"5":{"7":{"9":{"3":{"8":{"2":{"5":{"5":{"1":{"9":{"0":{"df":1,"docs":{"20":{"tf":1.0}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.7320508075688772},"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{"5":{"9":{"1":{"4":{"2":{"7":{"3":{"6":{"5":{"2":{"5":{"1":{"9":{"8":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"12":{"tf":1.4142135623730951}}}}}},"8":{"0":{"7":{"3":{"3":{"8":{"6":{"8":{"1":{"3":{"6":{"2":{"2":{"4":{"7":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"0":{"1":{"2":{"6":{"4":{"2":{"2":{"9":{"4":{"4":{"5":{"9":{"6":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"5":{"0":{"3":{"4":{"2":{"7":{"5":{"5":{"0":{"4":{"8":{"7":{"4":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"17":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"24":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"1":{"tf":1.0},"10":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"17":{"tf":2.6457513110645907},"18":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"20":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"d":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"8":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"0":{"]":{"@":{"a":{"d":{"d":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"12":{"tf":2.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{"@":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":3.4641016151377544},"9":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":2.449489742783178},"16":{"tf":2.449489742783178},"17":{"tf":2.449489742783178},"18":{"tf":3.4641016151377544}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"20":{"tf":2.6457513110645907},"26":{"tf":2.6457513110645907},"8":{"tf":1.4142135623730951}}},"2":{"]":{"@":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"15":{"tf":1.4142135623730951},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":3.605551275463989}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"26":{"tf":2.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"]":{"@":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"15":{"tf":1.7320508075688772},"16":{"tf":3.605551275463989},"17":{"tf":3.605551275463989},"18":{"tf":4.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"26":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"df":13,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":4.0},"14":{"tf":3.605551275463989},"15":{"tf":3.1622776601683795},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"24":{"tf":2.23606797749979},"8":{"tf":2.23606797749979},"9":{"tf":2.449489742783178}}}}}}},"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.0}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"18":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":6,"docs":{"13":{"tf":2.6457513110645907},"14":{"tf":3.605551275463989},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"17":{"tf":4.0},"18":{"tf":3.1622776601683795}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":3.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"18":{"tf":2.0}}}}}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"q":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"z":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":5,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"17":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"n":{"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":6,"docs":{"11":{"tf":2.6457513110645907},"14":{"tf":2.0},"16":{"tf":3.1622776601683795},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"3":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"20":{"tf":2.0},"24":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"9":{"tf":2.8284271247461903}}},"y":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"k":{"df":4,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"26":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"2":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}},"df":2,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"0":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":2.0},"27":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"2":{"b":{":":{"1":{"1":{"a":{"6":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"b":{"c":{"9":{"df":0,"docs":{},"f":{"b":{"8":{"5":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":6,"docs":{"0":{"tf":2.23606797749979},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0},"6":{"tf":1.0}}},"l":{"df":9,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":2.0},"2":{"tf":1.4142135623730951},"20":{"tf":2.23606797749979},"24":{"tf":2.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.23606797749979}},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":4,"docs":{"0":{"tf":1.0},"12":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"c":{".":{"df":0,"docs":{},"f":{"df":1,"docs":{"13":{"tf":1.0}}}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"13":{"tf":2.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.0}}}},"t":{"df":1,"docs":{"20":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"17":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"27":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"2":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":13,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":2.23606797749979},"16":{"tf":1.4142135623730951},"17":{"tf":2.0},"18":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"11":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}},"x":{"df":4,"docs":{"0":{"tf":1.4142135623730951},"13":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"n":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"17":{"tf":1.0}}}}},"i":{"d":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"24":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"(":{"df":1,"docs":{"27":{"tf":1.0}}},"/":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":26,"docs":{"0":{"tf":3.1622776601683795},"1":{"tf":3.3166247903554},"10":{"tf":4.69041575982343},"11":{"tf":4.795831523312719},"12":{"tf":3.872983346207417},"13":{"tf":2.449489742783178},"14":{"tf":3.4641016151377544},"15":{"tf":2.449489742783178},"16":{"tf":3.3166247903554},"17":{"tf":3.3166247903554},"18":{"tf":4.0},"19":{"tf":2.6457513110645907},"2":{"tf":2.0},"20":{"tf":4.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.7416573867739413},"25":{"tf":1.7320508075688772},"26":{"tf":3.872983346207417},"27":{"tf":1.0},"3":{"tf":3.872983346207417},"4":{"tf":1.0},"6":{"tf":2.0},"7":{"tf":3.3166247903554},"8":{"tf":2.6457513110645907},"9":{"tf":3.872983346207417}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"2":{"tf":2.0},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"8":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":2.449489742783178},"13":{"tf":1.0},"14":{"tf":3.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"24":{"tf":2.6457513110645907},"3":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"8":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"9":{"tf":1.4142135623730951}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"0":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}},"2":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"a":{"c":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"1":{"tf":1.0},"14":{"tf":2.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.4142135623730951},"8":{"tf":2.6457513110645907},"9":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{")":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"27":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"7":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.0}}}}},"p":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"9":{"tf":1.0}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"11":{"tf":1.0},"21":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":14,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"26":{"tf":1.7320508075688772},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"0":{"tf":1.0},"6":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"20":{"tf":1.4142135623730951},"27":{"tf":1.0}}}},"p":{"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"10":{"tf":1.0},"6":{"tf":1.0}}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":1,"docs":{"20":{"tf":1.7320508075688772}}}}},"d":{"df":1,"docs":{"24":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"2":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}}},"n":{"d":{"df":3,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"1":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"g":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"c":{"df":4,"docs":{"1":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"23":{"tf":1.0},"25":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"17":{"tf":1.0}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"0":{"tf":1.4142135623730951},"10":{"tf":1.0},"13":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"6":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"16":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"24":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"17":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"10":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":11,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"14":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.23606797749979},"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":2.0},"3":{"tf":1.0},"9":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"13":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"3":{"tf":1.0}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":2.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.0},"24":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"s":{"df":8,"docs":{"12":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"w":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":5,"docs":{"25":{"tf":1.0},"3":{"tf":2.449489742783178},"4":{"tf":1.0},"7":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}},"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951}}}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"8":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":10,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"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":1,"docs":{"10":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}}}},"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":2,"docs":{"24":{"tf":2.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"0":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":3.1622776601683795},"20":{"tf":2.6457513110645907},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.6457513110645907}}}}},"t":{"_":{"b":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"12":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":2.0},"2":{"tf":1.7320508075688772}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0}},"n":{"df":4,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0}}}}}},"o":{"df":2,"docs":{"13":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":2,"docs":{"1":{"tf":1.0},"15":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":3,"docs":{"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.7320508075688772}}}},"n":{"c":{"df":4,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"9":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"18":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"13":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":2.8284271247461903},"18":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"3":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":2.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"24":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":3,"docs":{"22":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"3":{"tf":2.6457513110645907}},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"t":{"'":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"24":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"13":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"0":{"tf":2.0},"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"%":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}}}}},"'":{"df":7,"docs":{"10":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"4":{"tf":1.0},"9":{"tf":1.0}}},"df":1,"docs":{"6":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"11":{"tf":1.0}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"3":{"tf":1.0},"9":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"0":{"tf":2.0},"13":{"tf":2.0},"18":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"'":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"v":{"df":0,"docs":{},"e":{"df":12,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":2.6457513110645907},"14":{"tf":2.449489742783178},"16":{"tf":3.0},"17":{"tf":3.0},"18":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":1.7320508075688772},"26":{"tf":3.605551275463989},"3":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"11":{"tf":1.0},"13":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0},"3":{"tf":1.0}}}},"w":{"df":2,"docs":{"0":{"tf":1.0},"1":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.0}}}}},"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"k":{"df":0,"docs":{},"e":{"df":6,"docs":{"0":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"6":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"2":{"tf":1.0}}}},"p":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"p":{"d":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}}}},"df":3,"docs":{"13":{"tf":2.449489742783178},"14":{"tf":2.0},"15":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"1":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"2":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"12":{"tf":1.0}}},"df":12,"docs":{"0":{"tf":2.8284271247461903},"1":{"tf":2.449489742783178},"10":{"tf":1.0},"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"17":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"3":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":4,"docs":{"20":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":2.8284271247461903},"27":{"tf":1.0}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"20":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":11,"docs":{"1":{"tf":1.0},"13":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"4":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"16":{"tf":1.7320508075688772},"17":{"tf":2.449489742783178},"18":{"tf":1.0},"24":{"tf":1.4142135623730951},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":12,"docs":{"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"24":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":2.0},"13":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":2.6457513110645907},"18":{"tf":2.449489742783178},"24":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":2.449489742783178},"8":{"tf":2.0}}}},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.8284271247461903},"12":{"tf":2.23606797749979},"2":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"8":{"tf":2.0},"9":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"b":{"df":2,"docs":{"0":{"tf":1.0},"8":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"d":{"df":4,"docs":{"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":8,"docs":{"1":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"6":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":10,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}},"n":{"df":1,"docs":{"12":{"tf":1.0}},"e":{"df":14,"docs":{"10":{"tf":2.0},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"14":{"tf":3.0},"15":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":2.0},"18":{"tf":2.0},"20":{"tf":2.0},"24":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"8":{"tf":1.7320508075688772},"9":{"tf":2.0}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"13":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"7":{"tf":1.0}}},"h":{"df":4,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}},"i":{"c":{"df":3,"docs":{"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"u":{"_":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"13":{"tf":1.0}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"13":{"tf":1.0},"25":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"3":{"tf":1.0}}}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"13":{"tf":1.0}}}}},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"|":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"|":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}}}}}}}}}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":17,"docs":{"1":{"tf":1.7320508075688772},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":2.6457513110645907},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.0},"16":{"tf":3.3166247903554},"17":{"tf":2.6457513110645907},"18":{"tf":2.8284271247461903},"2":{"tf":2.0},"20":{"tf":3.1622776601683795},"24":{"tf":3.7416573867739413},"26":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":3.605551275463989}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":2.6457513110645907},"25":{"tf":2.6457513110645907},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.4142135623730951},"6":{"tf":1.0},"8":{"tf":1.7320508075688772}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"13":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"2":{"tf":1.0},"24":{"tf":1.0},"27":{"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":2,"docs":{"14":{"tf":1.0},"4":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"11":{"tf":1.0},"13":{"tf":2.23606797749979},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":3.4641016151377544},"2":{"tf":1.7320508075688772},"20":{"tf":1.0},"8":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":15,"docs":{"1":{"tf":2.0},"10":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":2.0},"16":{"tf":2.0},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"2":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"24":{"tf":2.0},"8":{"tf":2.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"0":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.0},"6":{"tf":1.0},"7":{"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":6,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.0}}}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"21":{"tf":1.0},"6":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"24":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"17":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.0},"22":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":5,"docs":{"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"0":{"tf":1.4142135623730951},"17":{"tf":1.0},"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":10,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":17,"docs":{"10":{"tf":3.3166247903554},"11":{"tf":3.4641016151377544},"12":{"tf":3.7416573867739413},"14":{"tf":3.7416573867739413},"15":{"tf":2.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":2.449489742783178},"2":{"tf":1.0},"20":{"tf":3.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":2.449489742783178},"9":{"tf":2.6457513110645907}}}}}},"q":{"df":1,"docs":{"25":{"tf":1.0}},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":8,"docs":{"0":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"19":{"tf":2.23606797749979}}}}},"df":1,"docs":{"24":{"tf":1.0}}},"w":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}},"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"19":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"3":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951}}}}}},"l":{"df":3,"docs":{"12":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0}},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"27":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":2,"docs":{"24":{"tf":1.0},"9":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":7,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.6457513110645907},"12":{"tf":2.23606797749979},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":9,"docs":{"1":{"tf":2.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"20":{"tf":1.0}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"'":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"14":{"tf":3.0},"15":{"tf":2.449489742783178},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":3.3166247903554}}}}},"s":{"c":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"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":{},"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":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"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":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"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":{},"t":{"df":0,"docs":{},"z":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"y":{"/":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"8":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"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":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}},"n":{"df":23,"docs":{"0":{"tf":2.0},"1":{"tf":1.0},"10":{"tf":3.1622776601683795},"11":{"tf":3.0},"12":{"tf":3.4641016151377544},"13":{"tf":1.0},"14":{"tf":3.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"17":{"tf":2.8284271247461903},"18":{"tf":3.1622776601683795},"20":{"tf":2.6457513110645907},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":3.7416573867739413},"27":{"tf":1.0},"3":{"tf":2.23606797749979},"4":{"tf":2.449489742783178},"5":{"tf":2.23606797749979},"6":{"tf":3.4641016151377544},"7":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":3.605551275463989}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"15":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":2.449489742783178},"12":{"tf":2.6457513110645907},"14":{"tf":2.23606797749979},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"26":{"tf":2.6457513110645907},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.6457513110645907},"8":{"tf":2.23606797749979},"9":{"tf":2.6457513110645907}}}}}}},"df":7,"docs":{"10":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":4.0},"25":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"24":{"tf":2.6457513110645907},"3":{"tf":2.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"22":{"tf":1.0},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"0":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"22":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"18":{"tf":2.23606797749979},"24":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":5,"docs":{"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"3":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"18":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"h":{"a":{"5":{"1":{"2":{":":{"@":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"17":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"_":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"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":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"11":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"3":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":2.8284271247461903},"20":{"tf":3.3166247903554},"26":{"tf":3.7416573867739413},"8":{"tf":1.4142135623730951},"9":{"tf":2.0}},"e":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"z":{"df":4,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"20":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}},"i":{"df":3,"docs":{"12":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"25":{"tf":1.0},"6":{"tf":1.7320508075688772}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"13":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"0":{"tf":2.23606797749979},"1":{"tf":1.0},"10":{"tf":1.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":4,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"24":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"25":{"tf":1.0},"3":{"tf":1.0}},"i":{"df":2,"docs":{"2":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"d":{"a":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"20":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":16,"docs":{"0":{"tf":1.0},"1":{"tf":2.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.0},"2":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.0},"8":{"tf":2.23606797749979},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178}}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"1":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":15,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":2.0},"25":{"tf":2.23606797749979},"3":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"6":{"tf":3.7416573867739413},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"19":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":1.0},"6":{"tf":2.23606797749979},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"r":{"a":{"df":0,"docs":{},"g":{"df":17,"docs":{"1":{"tf":2.449489742783178},"10":{"tf":3.1622776601683795},"11":{"tf":2.6457513110645907},"12":{"tf":2.449489742783178},"13":{"tf":4.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.0},"2":{"tf":3.1622776601683795},"20":{"tf":2.23606797749979},"24":{"tf":3.0},"3":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},".":{"a":{"d":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"13":{"tf":2.0},"15":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":18,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":1.7320508075688772},"13":{"tf":3.4641016151377544},"14":{"tf":2.449489742783178},"15":{"tf":3.0},"16":{"tf":2.0},"17":{"tf":3.0},"18":{"tf":3.7416573867739413},"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":3.605551275463989},"8":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"u":{"c":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"17":{"tf":1.0},"19":{"tf":1.0},"9":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"18":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"1":{"tf":1.0},"25":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"14":{"tf":2.449489742783178},"20":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"13":{"tf":1.4142135623730951},"15":{"tf":1.0}}}}},"df":1,"docs":{"0":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":7,"docs":{"0":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"3":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0}}},"df":22,"docs":{"0":{"tf":3.0},"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"19":{"tf":1.0},"20":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"3":{"tf":2.23606797749979},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":2.449489742783178},"7":{"tf":2.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"0":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"1":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"4":{"tf":1.4142135623730951}}},"2":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"a":{"df":0,"docs":{},"s":{"df":18,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":3.0},"27":{"tf":2.23606797749979},"3":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":2.0}},"e":{"'":{"df":1,"docs":{"11":{"tf":1.0}}},"_":{"1":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":24,"docs":{"0":{"tf":2.8284271247461903},"10":{"tf":3.1622776601683795},"11":{"tf":3.0},"12":{"tf":3.3166247903554},"13":{"tf":2.0},"14":{"tf":3.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.8284271247461903},"17":{"tf":3.1622776601683795},"18":{"tf":3.1622776601683795},"19":{"tf":2.6457513110645907},"20":{"tf":3.1622776601683795},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":3.605551275463989},"27":{"tf":1.7320508075688772},"3":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.6457513110645907},"6":{"tf":4.123105625617661},"7":{"tf":1.0},"8":{"tf":2.8284271247461903},"9":{"tf":3.605551275463989}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.4142135623730951}}}}}},"df":4,"docs":{"20":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"z":{"df":1,"docs":{"13":{"tf":1.0}},"o":{"df":4,"docs":{"0":{"tf":2.0},"1":{"tf":1.4142135623730951},"17":{"tf":1.0},"9":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"0":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"6":{"tf":1.0}}}},"p":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"p":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"2":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"20":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{":":{"1":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"26":{"tf":2.0}}},"2":{"df":2,"docs":{"12":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951}}},"3":{"df":4,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.23606797749979},"18":{"tf":2.0}}},"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":6,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0}}}}}}}},"df":15,"docs":{"0":{"tf":1.4142135623730951},"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"12":{"tf":3.1622776601683795},"13":{"tf":1.0},"15":{"tf":2.8284271247461903},"16":{"tf":2.8284271247461903},"17":{"tf":2.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.7320508075688772},"9":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"20":{"tf":1.0},"26":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"e":{"df":13,"docs":{"10":{"tf":2.0},"11":{"tf":2.0},"12":{"tf":2.8284271247461903},"14":{"tf":3.4641016151377544},"16":{"tf":2.23606797749979},"17":{"tf":2.23606797749979},"18":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"8":{"tf":2.449489742783178},"9":{"tf":2.449489742783178}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"o":{"df":4,"docs":{"1":{"tf":1.0},"12":{"tf":1.0},"3":{"tf":1.0},"8":{"tf":1.0}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":8,"docs":{"0":{"tf":1.0},"1":{"tf":2.23606797749979},"13":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":2.0},"2":{"tf":1.0},"24":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"18":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"13":{"tf":1.0}}}}}}},"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":6,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":3.1622776601683795},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":2.0},"18":{"tf":2.0}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"7":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}},"df":13,"docs":{"0":{"tf":2.0},"12":{"tf":1.0},"13":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"3":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":3,"docs":{"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"17":{"tf":2.6457513110645907},"24":{"tf":2.23606797749979}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"25":{"tf":1.0}},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":3,"docs":{"0":{"tf":1.0},"13":{"tf":1.0},"5":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"8":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"9":{"tf":1.0}}}},"y":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"'":{"df":0,"docs":{},"r":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"22":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"3":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"0":{"tf":1.0},"22":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"8":{"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":{"2":{"tf":1.0},"20":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0}}}}}}}},"f":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"19":{"tf":1.0},"27":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"25":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"10":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"1":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"17":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"17":{"tf":1.0}}}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"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":{"21":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"4":{"tf":1.0},"6":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"13":{"tf":1.0},"17":{"tf":1.0},"19":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"12":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"23":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}}}},"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/docs/user_doc/testgen/example.html b/docs/user_doc/testgen/example.html index 0828f1f..01912e9 100644 --- a/docs/user_doc/testgen/example.html +++ b/docs/user_doc/testgen/example.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -161,17 +161,24 @@

Techelson User Documentation

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1
 done generating test for contract SimpleExample
 Running test `SimpleExampleTest1`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
 
-Applying Operations...
+applying operation CREATE[uid:0] (@address[1], "blake2b:11a6ffbc9fb85", None, false, false, 638557938255190utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (638557938255190utz) address[1]
 
-Contract Transfer...
+running test script...
 
-Applying Operations...
-Running test script...
+applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True
+   live contracts: SimpleExample (638557938255190utz) address[1]
+
+running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True
+=> live contracts: SimpleExample (759142736525198utz) address[1]
+
+=> live contracts: SimpleExample (759142736525198utz) address[1]
+
+running test script...
 Done running test `SimpleExampleTest1`
 
 
diff --git a/docs/user_doc/testgen/index.html b/docs/user_doc/testgen/index.html index d5a2c5c..6b459e9 100644 --- a/docs/user_doc/testgen/index.html +++ b/docs/user_doc/testgen/index.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ diff --git a/docs/user_doc/testing/anonymous.html b/docs/user_doc/testing/anonymous.html index 37e1276..ed9079d 100644 --- a/docs/user_doc/testing/anonymous.html +++ b/docs/user_doc/testing/anonymous.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -217,10 +217,19 @@

Techelson User Documentation

verbosity) as for inspection.techel:

$ techelson rsc/no_contract/okay/anonymous.techel
 Running test `Anonymous`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) 
+                       {
+                           storage nat ;
+                           parameter bool ;
+                           code ...;
+                       }
+   live contracts: none
+=> live contracts: <anonymous> (3utz) address[1]@main
+
+running test script...
 stack:
 |==================================================================================================|
 | address[1]@main                                                                                  |
@@ -229,19 +238,23 @@ 

Techelson User Documentation

| 3utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 0 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Anonymous`
diff --git a/docs/user_doc/testing/basic.html b/docs/user_doc/testing/basic.html index 6c00221..0424f77 100644 --- a/docs/user_doc/testing/basic.html +++ b/docs/user_doc/testing/basic.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -149,7 +149,8 @@

Techelson User Documentation

This testcase does not use any contract. To run it, simply run

$ techelson rsc/no_contract/okay/test1.techel
 Running test `Test1`
-Running test script...
+
+running test script...
 Done running test `Test1`
 
 
@@ -165,13 +166,15 @@

Techelson User Documentation

the output becomes

$ techelson rsc/no_contract/okay/test2.techel
 Running test `Test2`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 | "starting the test"                                                                              |
 | string                                                                                           |
 |==================================================================================================|
-Running test script...
+
+running test script...
 Done running test `Test2`
 
 
@@ -196,16 +199,19 @@

Techelson User Documentation

Techelson will stop on all STEP instructions and ask you to press enter to keep going:

$ techelson rsc/no_contract/okay/test3.techel
 Running test `Test3`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 | "starting the test"                                                                              |
 | string                                                                                           |
 |==================================================================================================|
-Running test script...
+
+running test script...
 stopping [just started the test] press `return` to continue
 
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 | "starting the test"                                                                              |
@@ -215,19 +221,23 @@ 

Techelson User Documentation

| "a string with a variable name" | | string | |==================================================================================================| -Running test script... + +running test script... stopping [no information] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | "starting the test" | | string | |==================================================================================================| -Running test script... + +running test script... stopping [The string should be gone. Also, we're done.] press `return` to continue -Running test script... + +running test script... Done running test `Test3`
diff --git a/docs/user_doc/testing/contracts.html b/docs/user_doc/testing/contracts.html index c34f7e5..ac78d8e 100644 --- a/docs/user_doc/testing/contracts.html +++ b/docs/user_doc/testing/contracts.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -207,7 +207,8 @@

Techelson User Documentation

This produces the following output

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create1.techel
 Running test `Create1`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                         @storage |
@@ -234,10 +235,12 @@ 

Techelson User Documentation

| "sha512:manager address" | | key_hash | |==================================================================================================| -Running test script... + +running test script... stopping [before creation] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | address[1] | @@ -246,10 +249,12 @@

Techelson User Documentation

| CREATE[uid:0] (@address[1], "sha512:manager address", None, true, true, 3utz) "SimpleExample" | | operation | |==================================================================================================| -Running test script... + +running test script... stopping [after creation] press `return` to continue -Running test script... + +running test script... Done running test `Create1`
@@ -299,7 +304,8 @@

Techelson User Documentation

Running it yields

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create2.techel
 Running test `Create2`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                            @main |
@@ -309,23 +315,30 @@ 

Techelson User Documentation

| [ CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample" ] | | (list operation) | |==================================================================================================| -Running test script... + +running test script... stopping [operation is now in a list] press `return` to continue -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample" + live contracts: none +=> live contracts: SimpleExample (3utz) address[1]@main + +running test script... stack: |==================================================================================================| | @main | | address[1]@main | | address | |==================================================================================================| -Running test script... + +running test script... stopping [testing that contract exists] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | address[1]@main | @@ -334,7 +347,8 @@

Techelson User Documentation

| "success" | | string | |==================================================================================================| -Running test script... + +running test script... Done running test `Create2`
diff --git a/docs/user_doc/testing/failures.html b/docs/user_doc/testing/failures.html index 4d29abe..0e74d6c 100644 --- a/docs/user_doc/testing/failures.html +++ b/docs/user_doc/testing/failures.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -271,29 +271,20 @@

Techelson User Documentation

Running this test produces the following output

$ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/create.techel
 Running test `Create`
-Running test script...
+
+running test script...
 stack:
 |==================================================================================================|
 | [ CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) 
       {
           storage unit ;
           parameter unit ;
-          code {
-                 DROP ;
-                 UNIT ;
-                 NIL operation ;
-                 PAIR
-               } ;
+          code ...;
       }, CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) 
              {
                  storage unit ;
                  parameter unit ;
-                 code {
-                        DROP ;
-                        UNIT ;
-                        NIL operation ;
-                        PAIR
-                      } ;
+                 code ...;
              } ] |
 | (list operation)                                                                                 |
 |--------------------------------------------------------------------------------------------------|
@@ -321,10 +312,34 @@ 

Techelson User Documentation

| "root" | | string | |==================================================================================================| -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins" + live contracts: none +=> live contracts: Admins (0utz) address[3]@admins +applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: Admins (0utz) address[3]@admins +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root + +running test script... stack: |==================================================================================================| | @root | @@ -339,10 +354,12 @@

Techelson User Documentation

| address[3]@admins | | address | |==================================================================================================| -Running test script... + +running test script... stopping [after applying creation operations.] press `return` to continue -Running test script... + +running test script... Done running test `Create`
@@ -395,20 +412,17 @@

Techelson User Documentation

testcase. In techelson, the testcase currently running has its own address. It is in particular not the address of root. Hence, the transfer fails as it should and so does the whole testcase. The (relevant part of the) output is

-

-Applying Operations...
-Test `AddAdmin` failed:
+
Test `AddAdmin` failed:
     Error
         operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) was expected to succeed
         but failed on operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))
         operation failed on "illegal access to admin account" : string
-Error
 

You can see in the transfer the sender and the target of the transfer:

-
TRANSFER[uid:3] address[0]@Create2 -> address[3]@admins
+
TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins
 
-

Create2 is the name of our testcase, and address[0]@Create2 is its address. Name "root" does -not map to this address in the contract and the transfer fails.

+

AddAdmin is the name of our testcase, and address[0]@AddAdmin is its address. Name "root" +does not map to this address in the contract and the transfer fails.

Handling Failures

Before getting into making this transfer work (next section), note that this (failing) testcase is actually useful. Or at least it should be: the transfer we are trying to make is illegal indeed. We @@ -435,10 +449,34 @@

Techelson User Documentation

The test now passes successfully:

$ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/mustFail.techel
 Running test `MustFail`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins"
+   live contracts: none
+=> live contracts: Admins (0utz) address[3]@admins
+applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+                   <anonymous> (0utz) address[1]@root
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                            @root |
@@ -456,14 +494,24 @@ 

Techelson User Documentation

| MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) + live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Contract Transfer... +running TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Applying Operations... -Running test script... +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root + +running test script... Done running test `MustFail`
@@ -486,10 +534,34 @@

Techelson User Documentation

Everything works fine here, and the output is

$ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/preciseMustFail.techel
 Running test `PreciseMustFail`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins"
+   live contracts: none
+=> live contracts: Admins (0utz) address[3]@admins
+applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+                   <anonymous> (0utz) address[1]@root
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                            @root |
@@ -507,14 +579,25 @@ 

Techelson User Documentation

| MUST_FAIL[uid:4] "illegal access to admin account" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation MUST_FAIL[uid:4] "illegal access to admin account" : +string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) + live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root + +running TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Contract Transfer... +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Applying Operations... -Running test script... +running test script... Done running test `PreciseMustFail`
diff --git a/docs/user_doc/testing/index.html b/docs/user_doc/testing/index.html index 1391e8b..a988e45 100644 --- a/docs/user_doc/testing/index.html +++ b/docs/user_doc/testing/index.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ diff --git a/docs/user_doc/testing/inspection.html b/docs/user_doc/testing/inspection.html index f9e9b3a..86ca9c6 100644 --- a/docs/user_doc/testing/inspection.html +++ b/docs/user_doc/testing/inspection.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -209,10 +209,14 @@

Techelson User Documentation

The testcase does not fail and produces the output

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/inspection.techel
 Running test `Inspection`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (3utz) address[1]@main
+
+running test script...
 stack:
 |==================================================================================================|
 | address[1]@main                                                                                  |
@@ -221,19 +225,23 @@ 

Techelson User Documentation

| 3utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 0 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Inspection`
diff --git a/docs/user_doc/testing/set_source.html b/docs/user_doc/testing/set_source.html index 4055e38..0fc5dda 100644 --- a/docs/user_doc/testing/set_source.html +++ b/docs/user_doc/testing/set_source.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -208,10 +208,34 @@

Techelson User Documentation

The testcase now succeeds, and its output is

$ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/setSource.techel
 Running test `SetSource`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
+
+applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins"
+   live contracts: none
+=> live contracts: Admins (0utz) address[3]@admins
+applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) 
+                       {
+                           storage unit ;
+                           parameter unit ;
+                           code ...;
+                       }
+   live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+=> live contracts: <anonymous> (0utz) address[2]@new_admin
+                   Admins (0utz) address[3]@admins
+                   <anonymous> (0utz) address[1]@root
+
+running test script...
 stack:
 |==================================================================================================|
 |                                                                                            @root |
@@ -239,10 +263,12 @@ 

Techelson User Documentation

| address[1]@root | | address | |==================================================================================================| -Running test script... + +running test script... stopping [no information] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | @root | @@ -259,14 +285,24 @@

Techelson User Documentation

| TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) + live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root + +running TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Contract Transfer... +=> live contracts: <anonymous> (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + <anonymous> (0utz) address[1]@root -Applying Operations... -Running test script... +running test script... Done running test `SetSource`
diff --git a/docs/user_doc/testing/transfers.html b/docs/user_doc/testing/transfers.html index 4a17c6a..d85ebb4 100644 --- a/docs/user_doc/testing/transfers.html +++ b/docs/user_doc/testing/transfers.html @@ -30,11 +30,11 @@ - + @@ -92,10 +92,10 @@ @@ -211,21 +211,30 @@

Techelson User Documentation

The test passes and its output is

$ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/transfer.techel
 Running test `Transfer`
-Running test script...
 
-Applying Operations...
-Running test script...
+running test script...
 
-Applying Operations...
+applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample"
+   live contracts: none
+=> live contracts: SimpleExample (3utz) address[1]@main
 
-Contract Transfer...
+running test script...
 
-Applying Operations...
+applying operation TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False
+   live contracts: SimpleExample (3utz) address[1]@main
 
-Contract Transfer...
+running TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False
+=> live contracts: SimpleExample (10utz) address[1]@main
 
-Applying Operations...
-Running test script...
+applying operation TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True
+   live contracts: SimpleExample (10utz) address[1]@main
+
+running TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True
+=> live contracts: SimpleExample (23utz) address[1]@main
+
+=> live contracts: SimpleExample (23utz) address[1]@main
+
+running test script...
 stack:
 |==================================================================================================|
 | address[1]@main                                                                                  |
@@ -234,19 +243,23 @@ 

Techelson User Documentation

| 23utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 1 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Transfer`
diff --git a/rsc/tests/trivial/error/too_poor.techel b/rsc/tests/trivial/error/too_poor.techel new file mode 100644 index 0000000..19395f3 --- /dev/null +++ b/rsc/tests/trivial/error/too_poor.techel @@ -0,0 +1,91 @@ +{ + PUSH @storage nat 0 ; + PUSH @amount mutez 3 ; + PUSH @delegatable bool True ; + PUSH @spendable bool True ; + NONE @delegate key_hash ; + PUSH key "manager address" ; + SHA512 @manager ; + + CREATE_CONTRACT @main @main_op { + storage nat; + parameter bool; + code { + UNPAIR ; + IF { + } { + PUSH nat 1; + ADD + } ; + NIL operation ; + PAIR + }; + } ; + + DIP { NIL operation } ; + CONS ; + + APPLY_OPERATIONS ; + + # Takes the address on the top of the stack, retrieves a contract of parameter `bool`. + CONTRACT bool ; + IF_NONE { # There is no hope, failing. + PUSH @err_msg string "failed to retrieve contract" ; + FAILWITH + } {} ; + + DUP ; + DUP ; + + GET_BALANCE ; + + PUSH mutez 3 ; + IFCMPNEQ { + PUSH string "balance should be 3utz" ; + FAILWITH + } {} ; + + GET_STORAGE nat ; + + IF_NONE { + PUSH string "unable to retrieve storage of contract" ; + FAILWITH + } { + PUSH nat 0 ; + IFCMPNEQ { + PUSH string "storage should be 0 (nat)" ; + FAILWITH + } {} ; + } ; + + PUSH mutez 14 ; + PUSH bool True ; + PUSH (option key_hash) None ; + PUSH key_hash "manager" ; + CREATE_ACCOUNT @client ; + + DIP NIL operation ; + CONS ; + APPLY_OPERATIONS ; + + SET_SOURCE { + DUP ; + PUSH mutez 13 ; + PUSH bool True ; + TRANSFER_TOKENS ; + DIP { + PUSH mutez 42 ; + PUSH bool True ; + TRANSFER_TOKENS ; + } + } ; + + DIP { + DIP NIL operation ; + CONS + } ; + CONS ; + APPLY_OPERATIONS ; + PRINT_STACK ; + +} \ No newline at end of file diff --git a/user_doc/book.toml b/user_doc/book.toml index 3f21166..e768578 100644 --- a/user_doc/book.toml +++ b/user_doc/book.toml @@ -5,7 +5,6 @@ src = "src" title = "Techelson User Documentation" [output.html] -default-theme = "navy" [output.linkcheck] follow-web-links = true diff --git a/user_doc/rsc/admins/error/addAdmin.techel.output b/user_doc/rsc/admins/error/addAdmin.techel.output index a2adf20..df82e99 100644 --- a/user_doc/rsc/admins/error/addAdmin.techel.output +++ b/user_doc/rsc/admins/error/addAdmin.techel.output @@ -1,28 +1,19 @@ $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/error/addAdmin.techel Running test `AddAdmin` -Running test script... + +running test script... stack: |==================================================================================================| | [ CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) { storage unit ; parameter unit ; - code { - DROP ; - UNIT ; - NIL operation ; - PAIR - } ; + code ...; }, CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) { storage unit ; parameter unit ; - code { - DROP ; - UNIT ; - NIL operation ; - PAIR - } ; + code ...; } ] | | (list operation) | |--------------------------------------------------------------------------------------------------| @@ -50,10 +41,34 @@ stack: | "root" | | string | |==================================================================================================| -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins" + live contracts: none +=> live contracts: Admins (0utz) address[3]@admins +applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running test script... stack: |==================================================================================================| | @root | @@ -68,20 +83,29 @@ stack: | address[3]@admins | | address | |==================================================================================================| -Running test script... + +running test script... stopping [after applying creation operations.] press `return` to continue -Running test script... -Applying Operations... +running test script... + +applying operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root -Contract Transfer... -Applying Operations... Test `AddAdmin` failed: Error operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) was expected to succeed but failed on operation TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) operation failed on "illegal access to admin account" : string + Error 1 of the 1 testcase failed diff --git a/user_doc/rsc/admins/okay/create.techel.output b/user_doc/rsc/admins/okay/create.techel.output index b966eb3..4242a2c 100644 --- a/user_doc/rsc/admins/okay/create.techel.output +++ b/user_doc/rsc/admins/okay/create.techel.output @@ -1,28 +1,19 @@ $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/create.techel Running test `Create` -Running test script... + +running test script... stack: |==================================================================================================| | [ CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) { storage unit ; parameter unit ; - code { - DROP ; - UNIT ; - NIL operation ; - PAIR - } ; + code ...; }, CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) { storage unit ; parameter unit ; - code { - DROP ; - UNIT ; - NIL operation ; - PAIR - } ; + code ...; } ] | | (list operation) | |--------------------------------------------------------------------------------------------------| @@ -50,10 +41,34 @@ stack: | "root" | | string | |==================================================================================================| -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins" + live contracts: none +=> live contracts: Admins (0utz) address[3]@admins +applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running test script... stack: |==================================================================================================| | @root | @@ -68,8 +83,10 @@ stack: | address[3]@admins | | address | |==================================================================================================| -Running test script... + +running test script... stopping [after applying creation operations.] press `return` to continue -Running test script... + +running test script... Done running test `Create` diff --git a/user_doc/rsc/admins/okay/mustFail.techel.output b/user_doc/rsc/admins/okay/mustFail.techel.output index 2c7eea4..fb7e60e 100644 --- a/user_doc/rsc/admins/okay/mustFail.techel.output +++ b/user_doc/rsc/admins/okay/mustFail.techel.output @@ -1,9 +1,33 @@ $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/mustFail.techel Running test `MustFail` -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins" + live contracts: none +=> live contracts: Admins (0utz) address[3]@admins +applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running test script... stack: |==================================================================================================| | @root | @@ -21,12 +45,22 @@ stack: | MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation MUST_FAIL[uid:4] _ (TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running TRANSFER[uid:3] address[0]@MustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root -Contract Transfer... +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root -Applying Operations... -Running test script... +running test script... Done running test `MustFail` diff --git a/user_doc/rsc/admins/okay/preciseMustFail.techel.output b/user_doc/rsc/admins/okay/preciseMustFail.techel.output index a9a752d..079063e 100644 --- a/user_doc/rsc/admins/okay/preciseMustFail.techel.output +++ b/user_doc/rsc/admins/okay/preciseMustFail.techel.output @@ -1,9 +1,33 @@ $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/preciseMustFail.techel Running test `PreciseMustFail` -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins" + live contracts: none +=> live contracts: Admins (0utz) address[3]@admins +applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running test script... stack: |==================================================================================================| | @root | @@ -21,12 +45,23 @@ stack: | MUST_FAIL[uid:4] "illegal access to admin account" : string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation MUST_FAIL[uid:4] "illegal access to admin account" : +string (TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin))) + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running TRANSFER[uid:3] address[0]@PreciseMustFail -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root -Contract Transfer... +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root -Applying Operations... -Running test script... +running test script... Done running test `PreciseMustFail` diff --git a/user_doc/rsc/admins/okay/setSource.techel.output b/user_doc/rsc/admins/okay/setSource.techel.output index 87c8fd1..dcb5810 100644 --- a/user_doc/rsc/admins/okay/setSource.techel.output +++ b/user_doc/rsc/admins/okay/setSource.techel.output @@ -1,9 +1,33 @@ $ techelson --contract rsc/admins/contracts/admins.tz -- rsc/admins/okay/setSource.techel Running test `SetSource` -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:2] (@address[3]@admins, "sha512:@contract_manager", None, false, true, 0utz) "Admins" + live contracts: none +=> live contracts: Admins (0utz) address[3]@admins +applying operation CREATE[uid:1] (@address[2]@new_admin, "sha512:@new_admin_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +applying operation CREATE[uid:0] (@address[1]@root, "sha512:@root_manager", None, true, true, 0utz) + { + storage unit ; + parameter unit ; + code ...; + } + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running test script... stack: |==================================================================================================| | @root | @@ -31,10 +55,12 @@ stack: | address[1]@root | | address | |==================================================================================================| -Running test script... + +running test script... stopping [no information] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | @root | @@ -51,12 +77,22 @@ stack: | TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) | | operation | |==================================================================================================| -Running test script... -Applying Operations... +running test script... + +applying operation TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) + live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root + +running TRANSFER[uid:3] address[1]@root -> address[3]@admins 0utz ("root", ("new_admin", address[2]@new_admin)) +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root -Contract Transfer... +=> live contracts: (0utz) address[2]@new_admin + Admins (0utz) address[3]@admins + (0utz) address[1]@root -Applying Operations... -Running test script... +running test script... Done running test `SetSource` diff --git a/user_doc/rsc/no_contract/okay/anonymous.techel.output b/user_doc/rsc/no_contract/okay/anonymous.techel.output index b4d2b3f..d38e76b 100644 --- a/user_doc/rsc/no_contract/okay/anonymous.techel.output +++ b/user_doc/rsc/no_contract/okay/anonymous.techel.output @@ -1,9 +1,18 @@ $ techelson rsc/no_contract/okay/anonymous.techel Running test `Anonymous` -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) + { + storage nat ; + parameter bool ; + code ...; + } + live contracts: none +=> live contracts: (3utz) address[1]@main + +running test script... stack: |==================================================================================================| | address[1]@main | @@ -12,17 +21,21 @@ stack: | 3utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 0 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Anonymous` diff --git a/user_doc/rsc/no_contract/okay/test1.techel.output b/user_doc/rsc/no_contract/okay/test1.techel.output index 34aa402..2d49e46 100644 --- a/user_doc/rsc/no_contract/okay/test1.techel.output +++ b/user_doc/rsc/no_contract/okay/test1.techel.output @@ -1,4 +1,5 @@ $ techelson rsc/no_contract/okay/test1.techel Running test `Test1` -Running test script... + +running test script... Done running test `Test1` diff --git a/user_doc/rsc/no_contract/okay/test2.techel.output b/user_doc/rsc/no_contract/okay/test2.techel.output index 6ac14a2..d76954e 100644 --- a/user_doc/rsc/no_contract/okay/test2.techel.output +++ b/user_doc/rsc/no_contract/okay/test2.techel.output @@ -1,10 +1,12 @@ $ techelson rsc/no_contract/okay/test2.techel Running test `Test2` -Running test script... + +running test script... stack: |==================================================================================================| | "starting the test" | | string | |==================================================================================================| -Running test script... + +running test script... Done running test `Test2` diff --git a/user_doc/rsc/no_contract/okay/test3.techel.output b/user_doc/rsc/no_contract/okay/test3.techel.output index c3fb83c..140736a 100644 --- a/user_doc/rsc/no_contract/okay/test3.techel.output +++ b/user_doc/rsc/no_contract/okay/test3.techel.output @@ -1,15 +1,18 @@ $ techelson rsc/no_contract/okay/test3.techel Running test `Test3` -Running test script... + +running test script... stack: |==================================================================================================| | "starting the test" | | string | |==================================================================================================| -Running test script... + +running test script... stopping [just started the test] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | "starting the test" | @@ -19,17 +22,21 @@ stack: | "a string with a variable name" | | string | |==================================================================================================| -Running test script... + +running test script... stopping [no information] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | "starting the test" | | string | |==================================================================================================| -Running test script... + +running test script... stopping [The string should be gone. Also, we're done.] press `return` to continue -Running test script... + +running test script... Done running test `Test3` diff --git a/user_doc/rsc/simpleExample/okay/create1.techel.output b/user_doc/rsc/simpleExample/okay/create1.techel.output index b3f99b7..c1882b8 100644 --- a/user_doc/rsc/simpleExample/okay/create1.techel.output +++ b/user_doc/rsc/simpleExample/okay/create1.techel.output @@ -1,6 +1,7 @@ $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create1.techel Running test `Create1` -Running test script... + +running test script... stack: |==================================================================================================| | @storage | @@ -27,10 +28,12 @@ stack: | "sha512:manager address" | | key_hash | |==================================================================================================| -Running test script... + +running test script... stopping [before creation] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | address[1] | @@ -39,8 +42,10 @@ stack: | CREATE[uid:0] (@address[1], "sha512:manager address", None, true, true, 3utz) "SimpleExample" | | operation | |==================================================================================================| -Running test script... + +running test script... stopping [after creation] press `return` to continue -Running test script... + +running test script... Done running test `Create1` diff --git a/user_doc/rsc/simpleExample/okay/create2.techel.output b/user_doc/rsc/simpleExample/okay/create2.techel.output index 34556f8..d883647 100644 --- a/user_doc/rsc/simpleExample/okay/create2.techel.output +++ b/user_doc/rsc/simpleExample/okay/create2.techel.output @@ -1,6 +1,7 @@ $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/create2.techel Running test `Create2` -Running test script... + +running test script... stack: |==================================================================================================| | @main | @@ -10,23 +11,30 @@ stack: | [ CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample" ] | | (list operation) | |==================================================================================================| -Running test script... + +running test script... stopping [operation is now in a list] press `return` to continue -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample" + live contracts: none +=> live contracts: SimpleExample (3utz) address[1]@main + +running test script... stack: |==================================================================================================| | @main | | address[1]@main | | address | |==================================================================================================| -Running test script... + +running test script... stopping [testing that contract exists] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | address[1]@main | @@ -35,5 +43,6 @@ stack: | "success" | | string | |==================================================================================================| -Running test script... + +running test script... Done running test `Create2` diff --git a/user_doc/rsc/simpleExample/okay/inspection.techel.output b/user_doc/rsc/simpleExample/okay/inspection.techel.output index 5b7f7fd..b1441fc 100644 --- a/user_doc/rsc/simpleExample/okay/inspection.techel.output +++ b/user_doc/rsc/simpleExample/okay/inspection.techel.output @@ -1,9 +1,13 @@ $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/inspection.techel Running test `Inspection` -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample" + live contracts: none +=> live contracts: SimpleExample (3utz) address[1]@main + +running test script... stack: |==================================================================================================| | address[1]@main | @@ -12,17 +16,21 @@ stack: | 3utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 0 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Inspection` diff --git a/user_doc/rsc/simpleExample/okay/testgen.techel.output b/user_doc/rsc/simpleExample/okay/testgen.techel.output index 851b62f..5416385 100644 --- a/user_doc/rsc/simpleExample/okay/testgen.techel.output +++ b/user_doc/rsc/simpleExample/okay/testgen.techel.output @@ -1,35 +1,52 @@ $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 2 done generating tests for contract SimpleExample Running test `SimpleExampleTest1` -Running test script... -Applying Operations... -Running test script... +running test script... -Applying Operations... +applying operation CREATE[uid:0] (@address[1], "blake2b:11a6ffbc9fb85", None, false, false, 638557938255190utz) "SimpleExample" + live contracts: none +=> live contracts: SimpleExample (638557938255190utz) address[1] -Contract Transfer... +running test script... -Applying Operations... -Running test script... +applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True + live contracts: SimpleExample (638557938255190utz) address[1] + +running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True +=> live contracts: SimpleExample (759142736525198utz) address[1] + +=> live contracts: SimpleExample (759142736525198utz) address[1] + +running test script... Done running test `SimpleExampleTest1` Running test `SimpleExampleTest2` -Running test script... -Applying Operations... -Running test script... +running test script... + +applying operation CREATE[uid:0] (@address[3], "blake2b:", (Some "blake2b:"), true, true, 290035844265409utz) "SimpleExample" + live contracts: none +=> live contracts: SimpleExample (290035844265409utz) address[3] + +running test script... + +applying operation TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True + live contracts: SimpleExample (290035844265409utz) address[3] + +running TRANSFER[uid:1] address[2]@SimpleExampleTest2 -> address[3] 520090578679187utz True +=> live contracts: SimpleExample (810126422944596utz) address[3] -Applying Operations... +=> live contracts: SimpleExample (810126422944596utz) address[3] -Contract Transfer... +running test script... -Applying Operations... -Running test script... +applying operation TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False + live contracts: SimpleExample (810126422944596utz) address[3] -Applying Operations... +running TRANSFER[uid:2] address[2]@SimpleExampleTest2 -> address[3] 845034275504874utz False +=> live contracts: SimpleExample (1655160698449470utz) address[3] -Contract Transfer... +=> live contracts: SimpleExample (1655160698449470utz) address[3] -Applying Operations... -Running test script... +running test script... Done running test `SimpleExampleTest2` diff --git a/user_doc/rsc/simpleExample/okay/testgen_nodump.techel.output b/user_doc/rsc/simpleExample/okay/testgen_nodump.techel.output index ca804de..3eea1c1 100644 --- a/user_doc/rsc/simpleExample/okay/testgen_nodump.techel.output +++ b/user_doc/rsc/simpleExample/okay/testgen_nodump.techel.output @@ -1,15 +1,22 @@ $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz testgen -n 1 done generating test for contract SimpleExample Running test `SimpleExampleTest1` -Running test script... -Applying Operations... -Running test script... +running test script... -Applying Operations... +applying operation CREATE[uid:0] (@address[1], "blake2b:11a6ffbc9fb85", None, false, false, 638557938255190utz) "SimpleExample" + live contracts: none +=> live contracts: SimpleExample (638557938255190utz) address[1] -Contract Transfer... +running test script... -Applying Operations... -Running test script... +applying operation TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True + live contracts: SimpleExample (638557938255190utz) address[1] + +running TRANSFER[uid:1] address[0]@SimpleExampleTest1 -> address[1] 120584798270008utz True +=> live contracts: SimpleExample (759142736525198utz) address[1] + +=> live contracts: SimpleExample (759142736525198utz) address[1] + +running test script... Done running test `SimpleExampleTest1` diff --git a/user_doc/rsc/simpleExample/okay/transfer.techel.output b/user_doc/rsc/simpleExample/okay/transfer.techel.output index de8856d..881a1ea 100644 --- a/user_doc/rsc/simpleExample/okay/transfer.techel.output +++ b/user_doc/rsc/simpleExample/okay/transfer.techel.output @@ -1,20 +1,29 @@ $ techelson --contract rsc/simpleExample/contracts/simpleExample.tz -- rsc/simpleExample/okay/transfer.techel Running test `Transfer` -Running test script... -Applying Operations... -Running test script... +running test script... -Applying Operations... +applying operation CREATE[uid:0] (@address[1]@main, "sha512:manager address", None, true, true, 3utz) "SimpleExample" + live contracts: none +=> live contracts: SimpleExample (3utz) address[1]@main -Contract Transfer... +running test script... -Applying Operations... +applying operation TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False + live contracts: SimpleExample (3utz) address[1]@main -Contract Transfer... +running TRANSFER[uid:1] address[0]@Transfer -> address[1]@main 7utz False +=> live contracts: SimpleExample (10utz) address[1]@main -Applying Operations... -Running test script... +applying operation TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True + live contracts: SimpleExample (10utz) address[1]@main + +running TRANSFER[uid:2] address[0]@Transfer -> address[1]@main 13utz True +=> live contracts: SimpleExample (23utz) address[1]@main + +=> live contracts: SimpleExample (23utz) address[1]@main + +running test script... stack: |==================================================================================================| | address[1]@main | @@ -23,17 +32,21 @@ stack: | 23utz | | mutez | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the balance of the contract] press `return` to continue -Running test script... + +running test script... stack: |==================================================================================================| | 1 | | nat | |==================================================================================================| -Running test script... + +running test script... stopping [retrieved the storage of the contract] press `return` to continue -Running test script... + +running test script... Done running test `Transfer` diff --git a/user_doc/src/testing/failures.md b/user_doc/src/testing/failures.md index 589146a..c65f670 100644 --- a/user_doc/src/testing/failures.md +++ b/user_doc/src/testing/failures.md @@ -80,17 +80,17 @@ not the address of `root`. Hence, the transfer fails as it should and so does th The (relevant part of the) output is ``` -{{#include ../../rsc/admins/error/addAdmin.techel.output:79:86}} +{{#include ../../rsc/admins/error/addAdmin.techel.output:104:108}} ``` You can see in the transfer the sender and the target of the transfer: ``` -TRANSFER[uid:3] address[0]@Create2 -> address[3]@admins +TRANSFER[uid:3] address[0]@AddAdmin -> address[3]@admins ``` -`Create2` is the name of our testcase, and `address[0]@Create2` is its address. Name `"root"` does -not map to this address in the contract and the transfer fails. +`AddAdmin` is the name of our testcase, and `address[0]@AddAdmin` is its address. Name `"root"` +does not map to this address in the contract and the transfer fails. ## Handling Failures diff --git a/user_doc/test.sh b/user_doc/test.sh index f2f900e..bf4fdc4 100755 --- a/user_doc/test.sh +++ b/user_doc/test.sh @@ -60,6 +60,12 @@ for test_dir in `ls "${root_dir}rsc"` ; do diff <(tail -n +2 "$output_file") <(echo "$command_output") exit_code="$?" if [ "$exit_code" != "0" ] ; then + echo "|===| Run output on $output_file is different from expectation" + echo "| this impacts the following files" + IFS=$'\n' + while read -r line ; do + echo "|> $line" + done <<< "`grep -R src -e "$output_file"`" bail "run output on $output_file is different from expectation" fi done @@ -83,6 +89,12 @@ for test_dir in `ls "${root_dir}rsc"` ; do diff <(tail -n +2 "$output_file") <(echo "$command_output") exit_code="$?" if [ "$exit_code" != "0" ] ; then + echo "|===| Run output on $output_file is different from expectation" + echo "| this impacts the following files" + IFS=$'\n' + while read -r line ; do + echo "|> $line" + done <<< "`grep -R src -e "$output_file"`" bail "run output on $output_file is different from expectation" fi done