libyajl2 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +25 -0
  3. data/.gitmodules +3 -0
  4. data/.kitchen.cloud.yml +87 -0
  5. data/.kitchen.yml +38 -0
  6. data/.reek.yml +3 -0
  7. data/.rspec +1 -0
  8. data/.rubocop.yml +38 -0
  9. data/.travis.yml +8 -0
  10. data/CONTRIBUTING.md +4 -0
  11. data/Gemfile +12 -0
  12. data/LICENSE +201 -0
  13. data/README.md +9 -0
  14. data/Rakefile +144 -0
  15. data/bootstrap.sh +60 -0
  16. data/ext/libyajl2/Makefile +7 -0
  17. data/ext/libyajl2/extconf.rb +66 -0
  18. data/ext/libyajl2/vendor/yajl/.gitignore +3 -0
  19. data/ext/libyajl2/vendor/yajl/BUILDING +23 -0
  20. data/ext/libyajl2/vendor/yajl/BUILDING.win32 +27 -0
  21. data/ext/libyajl2/vendor/yajl/CMakeLists.txt +81 -0
  22. data/ext/libyajl2/vendor/yajl/COPYING +13 -0
  23. data/ext/libyajl2/vendor/yajl/ChangeLog +189 -0
  24. data/ext/libyajl2/vendor/yajl/README +74 -0
  25. data/ext/libyajl2/vendor/yajl/TODO +9 -0
  26. data/ext/libyajl2/vendor/yajl/YAJLDoc.cmake +26 -0
  27. data/ext/libyajl2/vendor/yajl/configure +81 -0
  28. data/ext/libyajl2/vendor/yajl/example/CMakeLists.txt +23 -0
  29. data/ext/libyajl2/vendor/yajl/example/README.md +7 -0
  30. data/ext/libyajl2/vendor/yajl/example/parse_config.c +69 -0
  31. data/ext/libyajl2/vendor/yajl/example/sample.config +101 -0
  32. data/ext/libyajl2/vendor/yajl/perf/CMakeLists.txt +23 -0
  33. data/ext/libyajl2/vendor/yajl/perf/documents.c +1418 -0
  34. data/ext/libyajl2/vendor/yajl/perf/documents.h +28 -0
  35. data/ext/libyajl2/vendor/yajl/perf/perftest.c +134 -0
  36. data/ext/libyajl2/vendor/yajl/reformatter/CMakeLists.txt +43 -0
  37. data/ext/libyajl2/vendor/yajl/reformatter/json_reformat.c +210 -0
  38. data/ext/libyajl2/vendor/yajl/src/CMakeLists.txt +87 -0
  39. data/ext/libyajl2/vendor/yajl/src/YAJL.dxy +1258 -0
  40. data/ext/libyajl2/vendor/yajl/src/api/yajl_common.h +75 -0
  41. data/ext/libyajl2/vendor/yajl/src/api/yajl_gen.h +167 -0
  42. data/ext/libyajl2/vendor/yajl/src/api/yajl_parse.h +226 -0
  43. data/ext/libyajl2/vendor/yajl/src/api/yajl_tree.h +186 -0
  44. data/ext/libyajl2/vendor/yajl/src/api/yajl_version.h.cmake +23 -0
  45. data/ext/libyajl2/vendor/yajl/src/yajl +33 -0
  46. data/ext/libyajl2/vendor/yajl/src/yajl.c +175 -0
  47. data/ext/libyajl2/vendor/yajl/src/yajl.pc.cmake +9 -0
  48. data/ext/libyajl2/vendor/yajl/src/yajl_alloc.c +52 -0
  49. data/ext/libyajl2/vendor/yajl/src/yajl_alloc.h +34 -0
  50. data/ext/libyajl2/vendor/yajl/src/yajl_buf.c +103 -0
  51. data/ext/libyajl2/vendor/yajl/src/yajl_buf.h +57 -0
  52. data/ext/libyajl2/vendor/yajl/src/yajl_bytestack.h +69 -0
  53. data/ext/libyajl2/vendor/yajl/src/yajl_encode.c +220 -0
  54. data/ext/libyajl2/vendor/yajl/src/yajl_encode.h +34 -0
  55. data/ext/libyajl2/vendor/yajl/src/yajl_gen.c +362 -0
  56. data/ext/libyajl2/vendor/yajl/src/yajl_lex.c +763 -0
  57. data/ext/libyajl2/vendor/yajl/src/yajl_lex.h +117 -0
  58. data/ext/libyajl2/vendor/yajl/src/yajl_parser.c +498 -0
  59. data/ext/libyajl2/vendor/yajl/src/yajl_parser.h +78 -0
  60. data/ext/libyajl2/vendor/yajl/src/yajl_tree.c +503 -0
  61. data/ext/libyajl2/vendor/yajl/src/yajl_version.c +7 -0
  62. data/ext/libyajl2/vendor/yajl/test/CMakeLists.txt +16 -0
  63. data/ext/libyajl2/vendor/yajl/test/api/CMakeLists.txt +25 -0
  64. data/ext/libyajl2/vendor/yajl/test/api/gen-extra-close.c +19 -0
  65. data/ext/libyajl2/vendor/yajl/test/api/run_tests.sh +23 -0
  66. data/ext/libyajl2/vendor/yajl/test/parsing/CMakeLists.txt +23 -0
  67. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ac_difficult_json_c_test_case_with_comments.json +1 -0
  68. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ac_difficult_json_c_test_case_with_comments.json.gold +36 -0
  69. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ac_simple_with_comments.json +11 -0
  70. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ac_simple_with_comments.json.gold +9 -0
  71. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ag_false_then_garbage.json +1 -0
  72. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ag_false_then_garbage.json.gold +2 -0
  73. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ag_null_then_garbage.json +1 -0
  74. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ag_null_then_garbage.json.gold +2 -0
  75. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ag_true_then_garbage.json +1 -0
  76. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ag_true_then_garbage.json.gold +2 -0
  77. data/ext/libyajl2/vendor/yajl/test/parsing/cases/am_eof.json +1 -0
  78. data/ext/libyajl2/vendor/yajl/test/parsing/cases/am_eof.json.gold +4 -0
  79. data/ext/libyajl2/vendor/yajl/test/parsing/cases/am_integers.json +1 -0
  80. data/ext/libyajl2/vendor/yajl/test/parsing/cases/am_integers.json.gold +3 -0
  81. data/ext/libyajl2/vendor/yajl/test/parsing/cases/am_multiple.json +3 -0
  82. data/ext/libyajl2/vendor/yajl/test/parsing/cases/am_multiple.json.gold +5 -0
  83. data/ext/libyajl2/vendor/yajl/test/parsing/cases/am_stuff.json +7 -0
  84. data/ext/libyajl2/vendor/yajl/test/parsing/cases/am_stuff.json.gold +14 -0
  85. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ap_array_open.json +1 -0
  86. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ap_array_open.json.gold +2 -0
  87. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ap_eof_str.json +1 -0
  88. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ap_eof_str.json.gold +1 -0
  89. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ap_map_open.json +1 -0
  90. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ap_map_open.json.gold +2 -0
  91. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ap_partial_ok.json +1 -0
  92. data/ext/libyajl2/vendor/yajl/test/parsing/cases/ap_partial_ok.json.gold +4 -0
  93. data/ext/libyajl2/vendor/yajl/test/parsing/cases/array.json +6 -0
  94. data/ext/libyajl2/vendor/yajl/test/parsing/cases/array.json.gold +22 -0
  95. data/ext/libyajl2/vendor/yajl/test/parsing/cases/array_close.json +1 -0
  96. data/ext/libyajl2/vendor/yajl/test/parsing/cases/array_close.json.gold +2 -0
  97. data/ext/libyajl2/vendor/yajl/test/parsing/cases/bignums.json +1 -0
  98. data/ext/libyajl2/vendor/yajl/test/parsing/cases/bignums.json.gold +5 -0
  99. data/ext/libyajl2/vendor/yajl/test/parsing/cases/bogus_char.json +4 -0
  100. data/ext/libyajl2/vendor/yajl/test/parsing/cases/bogus_char.json.gold +10 -0
  101. data/ext/libyajl2/vendor/yajl/test/parsing/cases/codepoints_from_unicode_org.json +1 -0
  102. data/ext/libyajl2/vendor/yajl/test/parsing/cases/codepoints_from_unicode_org.json.gold +2 -0
  103. data/ext/libyajl2/vendor/yajl/test/parsing/cases/deep_arrays.json +1 -0
  104. data/ext/libyajl2/vendor/yajl/test/parsing/cases/deep_arrays.json.gold +2049 -0
  105. data/ext/libyajl2/vendor/yajl/test/parsing/cases/difficult_json_c_test_case.json +1 -0
  106. data/ext/libyajl2/vendor/yajl/test/parsing/cases/difficult_json_c_test_case.json.gold +36 -0
  107. data/ext/libyajl2/vendor/yajl/test/parsing/cases/doubles.json +1 -0
  108. data/ext/libyajl2/vendor/yajl/test/parsing/cases/doubles.json.gold +7 -0
  109. data/ext/libyajl2/vendor/yajl/test/parsing/cases/doubles_in_array.json +1 -0
  110. data/ext/libyajl2/vendor/yajl/test/parsing/cases/doubles_in_array.json.gold +8 -0
  111. data/ext/libyajl2/vendor/yajl/test/parsing/cases/empty_array.json +1 -0
  112. data/ext/libyajl2/vendor/yajl/test/parsing/cases/empty_array.json.gold +3 -0
  113. data/ext/libyajl2/vendor/yajl/test/parsing/cases/empty_string.json +1 -0
  114. data/ext/libyajl2/vendor/yajl/test/parsing/cases/empty_string.json.gold +2 -0
  115. data/ext/libyajl2/vendor/yajl/test/parsing/cases/escaped_bulgarian.json +4 -0
  116. data/ext/libyajl2/vendor/yajl/test/parsing/cases/escaped_bulgarian.json.gold +7 -0
  117. data/ext/libyajl2/vendor/yajl/test/parsing/cases/escaped_foobar.json +1 -0
  118. data/ext/libyajl2/vendor/yajl/test/parsing/cases/escaped_foobar.json.gold +2 -0
  119. data/ext/libyajl2/vendor/yajl/test/parsing/cases/false.json +1 -0
  120. data/ext/libyajl2/vendor/yajl/test/parsing/cases/false.json.gold +2 -0
  121. data/ext/libyajl2/vendor/yajl/test/parsing/cases/fg_false_then_garbage.json +1 -0
  122. data/ext/libyajl2/vendor/yajl/test/parsing/cases/fg_false_then_garbage.json.gold +3 -0
  123. data/ext/libyajl2/vendor/yajl/test/parsing/cases/fg_issue_7.json +1 -0
  124. data/ext/libyajl2/vendor/yajl/test/parsing/cases/fg_issue_7.json.gold +3 -0
  125. data/ext/libyajl2/vendor/yajl/test/parsing/cases/fg_null_then_garbage.json +1 -0
  126. data/ext/libyajl2/vendor/yajl/test/parsing/cases/fg_null_then_garbage.json.gold +3 -0
  127. data/ext/libyajl2/vendor/yajl/test/parsing/cases/fg_true_then_garbage.json +1 -0
  128. data/ext/libyajl2/vendor/yajl/test/parsing/cases/fg_true_then_garbage.json.gold +3 -0
  129. data/ext/libyajl2/vendor/yajl/test/parsing/cases/four_byte_utf8.json +2 -0
  130. data/ext/libyajl2/vendor/yajl/test/parsing/cases/four_byte_utf8.json.gold +5 -0
  131. data/ext/libyajl2/vendor/yajl/test/parsing/cases/high_overflow.json +1 -0
  132. data/ext/libyajl2/vendor/yajl/test/parsing/cases/high_overflow.json.gold +2 -0
  133. data/ext/libyajl2/vendor/yajl/test/parsing/cases/integers.json +3 -0
  134. data/ext/libyajl2/vendor/yajl/test/parsing/cases/integers.json.gold +14 -0
  135. data/ext/libyajl2/vendor/yajl/test/parsing/cases/invalid_utf8.json +1 -0
  136. data/ext/libyajl2/vendor/yajl/test/parsing/cases/invalid_utf8.json.gold +3 -0
  137. data/ext/libyajl2/vendor/yajl/test/parsing/cases/isolated_surrogate_marker.json +1 -0
  138. data/ext/libyajl2/vendor/yajl/test/parsing/cases/isolated_surrogate_marker.json.gold +2 -0
  139. data/ext/libyajl2/vendor/yajl/test/parsing/cases/leading_zero_in_number.json +1 -0
  140. data/ext/libyajl2/vendor/yajl/test/parsing/cases/leading_zero_in_number.json.gold +5 -0
  141. data/ext/libyajl2/vendor/yajl/test/parsing/cases/lonely_minus_sign.json +7 -0
  142. data/ext/libyajl2/vendor/yajl/test/parsing/cases/lonely_minus_sign.json.gold +9 -0
  143. data/ext/libyajl2/vendor/yajl/test/parsing/cases/lonely_number.json +1 -0
  144. data/ext/libyajl2/vendor/yajl/test/parsing/cases/lonely_number.json.gold +2 -0
  145. data/ext/libyajl2/vendor/yajl/test/parsing/cases/low_overflow.json +1 -0
  146. data/ext/libyajl2/vendor/yajl/test/parsing/cases/low_overflow.json.gold +2 -0
  147. data/ext/libyajl2/vendor/yajl/test/parsing/cases/map_close.json +1 -0
  148. data/ext/libyajl2/vendor/yajl/test/parsing/cases/map_close.json.gold +2 -0
  149. data/ext/libyajl2/vendor/yajl/test/parsing/cases/missing_integer_after_decimal_point.json +1 -0
  150. data/ext/libyajl2/vendor/yajl/test/parsing/cases/missing_integer_after_decimal_point.json.gold +2 -0
  151. data/ext/libyajl2/vendor/yajl/test/parsing/cases/missing_integer_after_exponent.json +1 -0
  152. data/ext/libyajl2/vendor/yajl/test/parsing/cases/missing_integer_after_exponent.json.gold +2 -0
  153. data/ext/libyajl2/vendor/yajl/test/parsing/cases/multiple.json +3 -0
  154. data/ext/libyajl2/vendor/yajl/test/parsing/cases/multiple.json.gold +4 -0
  155. data/ext/libyajl2/vendor/yajl/test/parsing/cases/non_utf8_char_in_string.json +1 -0
  156. data/ext/libyajl2/vendor/yajl/test/parsing/cases/non_utf8_char_in_string.json.gold +8 -0
  157. data/ext/libyajl2/vendor/yajl/test/parsing/cases/np_partial_bad.json +1 -0
  158. data/ext/libyajl2/vendor/yajl/test/parsing/cases/np_partial_bad.json.gold +5 -0
  159. data/ext/libyajl2/vendor/yajl/test/parsing/cases/null.json +1 -0
  160. data/ext/libyajl2/vendor/yajl/test/parsing/cases/null.json.gold +2 -0
  161. data/ext/libyajl2/vendor/yajl/test/parsing/cases/nulls_and_bools.json +5 -0
  162. data/ext/libyajl2/vendor/yajl/test/parsing/cases/nulls_and_bools.json.gold +9 -0
  163. data/ext/libyajl2/vendor/yajl/test/parsing/cases/simple.json +5 -0
  164. data/ext/libyajl2/vendor/yajl/test/parsing/cases/simple.json.gold +9 -0
  165. data/ext/libyajl2/vendor/yajl/test/parsing/cases/simple_with_comments.json +11 -0
  166. data/ext/libyajl2/vendor/yajl/test/parsing/cases/simple_with_comments.json.gold +5 -0
  167. data/ext/libyajl2/vendor/yajl/test/parsing/cases/string_invalid_escape.json +1 -0
  168. data/ext/libyajl2/vendor/yajl/test/parsing/cases/string_invalid_escape.json.gold +3 -0
  169. data/ext/libyajl2/vendor/yajl/test/parsing/cases/string_invalid_hex_char.json +1 -0
  170. data/ext/libyajl2/vendor/yajl/test/parsing/cases/string_invalid_hex_char.json.gold +2 -0
  171. data/ext/libyajl2/vendor/yajl/test/parsing/cases/string_with_escapes.json +3 -0
  172. data/ext/libyajl2/vendor/yajl/test/parsing/cases/string_with_escapes.json.gold +7 -0
  173. data/ext/libyajl2/vendor/yajl/test/parsing/cases/string_with_invalid_newline.json +2 -0
  174. data/ext/libyajl2/vendor/yajl/test/parsing/cases/string_with_invalid_newline.json.gold +2 -0
  175. data/ext/libyajl2/vendor/yajl/test/parsing/cases/three_byte_utf8.json +1 -0
  176. data/ext/libyajl2/vendor/yajl/test/parsing/cases/three_byte_utf8.json.gold +7 -0
  177. data/ext/libyajl2/vendor/yajl/test/parsing/cases/true.json +1 -0
  178. data/ext/libyajl2/vendor/yajl/test/parsing/cases/true.json.gold +2 -0
  179. data/ext/libyajl2/vendor/yajl/test/parsing/cases/unescaped_bulgarian.json +1 -0
  180. data/ext/libyajl2/vendor/yajl/test/parsing/cases/unescaped_bulgarian.json.gold +4 -0
  181. data/ext/libyajl2/vendor/yajl/test/parsing/cases/zerobyte.json +1 -0
  182. data/ext/libyajl2/vendor/yajl/test/parsing/cases/zerobyte.json.gold +0 -0
  183. data/ext/libyajl2/vendor/yajl/test/parsing/run_tests.sh +94 -0
  184. data/ext/libyajl2/vendor/yajl/test/parsing/yajl_test.c +291 -0
  185. data/ext/libyajl2/vendor/yajl/verify/CMakeLists.txt +37 -0
  186. data/ext/libyajl2/vendor/yajl/verify/json_verify.c +120 -0
  187. data/lib/libyajl2.rb +13 -0
  188. data/lib/libyajl2/version.rb +3 -0
  189. data/libyajl2.gemspec +29 -0
  190. data/spec/ffi_spec.rb +20 -0
  191. data/spec/path_spec.rb +15 -0
  192. data/spec/spec_helper.rb +13 -0
  193. metadata +296 -0
@@ -0,0 +1,7 @@
1
+ #include <yajl/yajl_version.h>
2
+
3
+ int yajl_version(void)
4
+ {
5
+ return YAJL_VERSION;
6
+ }
7
+
@@ -0,0 +1,16 @@
1
+ # Copyright (c) 2007-2014, Lloyd Hilaiel <me@lloyd.io>
2
+ #
3
+ # Permission to use, copy, modify, and/or distribute this software for any
4
+ # purpose with or without fee is hereby granted, provided that the above
5
+ # copyright notice and this permission notice appear in all copies.
6
+ #
7
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
+
15
+ ADD_SUBDIRECTORY(parsing)
16
+ ADD_SUBDIRECTORY(api)
@@ -0,0 +1,25 @@
1
+ # Copyright (c) 2007-2014, Lloyd Hilaiel <me@lloyd.io>
2
+ #
3
+ # Permission to use, copy, modify, and/or distribute this software for any
4
+ # purpose with or without fee is hereby granted, provided that the above
5
+ # copyright notice and this permission notice appear in all copies.
6
+ #
7
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
+
15
+ SET (TESTS gen-extra-close.c
16
+ )
17
+ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../../${YAJL_DIST_NAME}/include)
18
+ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../../${YAJL_DIST_NAME}/lib)
19
+
20
+ # for each test, we'll create a target, and make the api-tests target depend on it
21
+ FOREACH (test ${TESTS})
22
+ GET_FILENAME_COMPONENT(testProg ${test} NAME_WE)
23
+ ADD_EXECUTABLE(${testProg} ${test})
24
+ TARGET_LINK_LIBRARIES(${testProg} yajl)
25
+ ENDFOREACH()
@@ -0,0 +1,19 @@
1
+ /* ensure that if we try to generate an extra closing brace
2
+ * we get the expected error */
3
+
4
+ #include <yajl/yajl_gen.h>
5
+ #include <stdio.h>
6
+
7
+ #define CHK(x) if (x != yajl_gen_status_ok) return 1;
8
+
9
+ int main(void) {
10
+ yajl_gen yg;
11
+ yajl_gen_status s;
12
+
13
+ yg = yajl_gen_alloc(NULL);
14
+ CHK(yajl_gen_map_open(yg));
15
+ CHK(yajl_gen_map_close(yg));
16
+ s = yajl_gen_map_close(yg);
17
+
18
+ return (yajl_gen_generation_complete == s);
19
+ }
@@ -0,0 +1,23 @@
1
+ #!/bin/sh
2
+
3
+ echo Running api tests:
4
+
5
+ tests=0
6
+ passed=0
7
+
8
+ for file in `ls`; do
9
+ [ ! -x $file -o -d $file ] && continue
10
+ tests=`expr 1 + $tests`
11
+ printf " test(%s): " $file
12
+ ./$file
13
+ if [ $? ]; then
14
+ passed=`expr 1 + $passed`
15
+ echo 'SUCCESS'
16
+ else
17
+ echo 'FAILURE'
18
+ fi
19
+ done
20
+
21
+ echo "$passed/$tests tests successful"
22
+
23
+ exit 0
@@ -0,0 +1,23 @@
1
+ # Copyright (c) 2007-2014, Lloyd Hilaiel <me@lloyd.io>
2
+ #
3
+ # Permission to use, copy, modify, and/or distribute this software for any
4
+ # purpose with or without fee is hereby granted, provided that the above
5
+ # copyright notice and this permission notice appear in all copies.
6
+ #
7
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
+
15
+ SET (SRCS yajl_test.c)
16
+
17
+ # use the library we build, duh.
18
+ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../../${YAJL_DIST_NAME}/include)
19
+ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../../${YAJL_DIST_NAME}/lib)
20
+
21
+ ADD_EXECUTABLE(yajl_test ${SRCS})
22
+
23
+ TARGET_LINK_LIBRARIES(yajl_test yajl_s)
@@ -0,0 +1 @@
1
+ { "glossary": { /* you */ "title": /**/ "example glossary", /*should*/"GlossDiv": { "title": /*never*/"S", /*ever*/"GlossList": [ { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": "A meta-markup language, used to create markup languages such as DocBook.", /*see*/"GlossSeeAlso"/*this*/:/*coming*/[/*out*/"GML"/*of*/,/*the*/"XML"/*parser!*/, "markup"] /*hey*/}/*ho*/]/*hey*/}/*ho*/} } // and the parser won't even get this far, so chill. /* hah!
@@ -0,0 +1,36 @@
1
+ map open '{'
2
+ key: 'glossary'
3
+ map open '{'
4
+ key: 'title'
5
+ string: 'example glossary'
6
+ key: 'GlossDiv'
7
+ map open '{'
8
+ key: 'title'
9
+ string: 'S'
10
+ key: 'GlossList'
11
+ array open '['
12
+ map open '{'
13
+ key: 'ID'
14
+ string: 'SGML'
15
+ key: 'SortAs'
16
+ string: 'SGML'
17
+ key: 'GlossTerm'
18
+ string: 'Standard Generalized Markup Language'
19
+ key: 'Acronym'
20
+ string: 'SGML'
21
+ key: 'Abbrev'
22
+ string: 'ISO 8879:1986'
23
+ key: 'GlossDef'
24
+ string: 'A meta-markup language, used to create markup languages such as DocBook.'
25
+ key: 'GlossSeeAlso'
26
+ array open '['
27
+ string: 'GML'
28
+ string: 'XML'
29
+ string: 'markup'
30
+ array close ']'
31
+ map close '}'
32
+ array close ']'
33
+ map close '}'
34
+ map close '}'
35
+ map close '}'
36
+ memory leaks: 0
@@ -0,0 +1,11 @@
1
+ {
2
+ "this": "is", // ignore this
3
+ "really": "simple",
4
+ /* ignore
5
+ this
6
+ too * /
7
+ ** //
8
+ (/
9
+ ******/
10
+ "json": "right?"
11
+ }
@@ -0,0 +1,9 @@
1
+ map open '{'
2
+ key: 'this'
3
+ string: 'is'
4
+ key: 'really'
5
+ string: 'simple'
6
+ key: 'json'
7
+ string: 'right?'
8
+ map close '}'
9
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ bool: false
2
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ bool: true
2
+ memory leaks: 0
@@ -0,0 +1,4 @@
1
+ map open '{'
2
+ key: '123'
3
+ parse error: premature EOF
4
+ memory leaks: 0
@@ -0,0 +1,3 @@
1
+ integer: 1221
2
+ integer: 21
3
+ memory leaks: 0
@@ -0,0 +1,5 @@
1
+ map open '{'
2
+ map close '}'
3
+ map open '{'
4
+ map close '}'
5
+ memory leaks: 0
@@ -0,0 +1,7 @@
1
+ {}
2
+ []
3
+ []
4
+ "sdfasd"
5
+ 123
6
+ { "123" : 123 }
7
+ 3.1e124
@@ -0,0 +1,14 @@
1
+ map open '{'
2
+ map close '}'
3
+ array open '['
4
+ array close ']'
5
+ array open '['
6
+ array close ']'
7
+ string: 'sdfasd'
8
+ integer: 123
9
+ map open '{'
10
+ key: '123'
11
+ integer: 123
12
+ map close '}'
13
+ double: 3.1e+124
14
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ array open '['
2
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ map open '{'
2
+ memory leaks: 0
@@ -0,0 +1,4 @@
1
+ array open '['
2
+ string: 'foo'
3
+ string: 'bar'
4
+ memory leaks: 0
@@ -0,0 +1,6 @@
1
+ ["foo",
2
+ "bar", "baz",
3
+ true,false,null,{"key":"value"},
4
+ [null,null,null,[]],
5
+ "\n\r\\"
6
+ ]
@@ -0,0 +1,22 @@
1
+ array open '['
2
+ string: 'foo'
3
+ string: 'bar'
4
+ string: 'baz'
5
+ bool: true
6
+ bool: false
7
+ null
8
+ map open '{'
9
+ key: 'key'
10
+ string: 'value'
11
+ map close '}'
12
+ array open '['
13
+ null
14
+ null
15
+ null
16
+ array open '['
17
+ array close ']'
18
+ array close ']'
19
+ string: '
20
+
21
+ array close ']'
22
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ parse error: unallowed token at this point in JSON text
2
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ [ 9223372036854775807, -9223372036854775807 ]
@@ -0,0 +1,5 @@
1
+ array open '['
2
+ integer: 9223372036854775807
3
+ integer: -9223372036854775807
4
+ array close ']'
5
+ memory leaks: 0
@@ -0,0 +1,4 @@
1
+ ["this","is","what","should","be",
2
+ "a happy bit of json",
3
+ "but someone, misspelled \"true\"", ture,
4
+ "who says JSON is easy for humans to generate?"]
@@ -0,0 +1,10 @@
1
+ array open '['
2
+ string: 'this'
3
+ string: 'is'
4
+ string: 'what'
5
+ string: 'should'
6
+ string: 'be'
7
+ string: 'a happy bit of json'
8
+ string: 'but someone, misspelled "true"'
9
+ lexical error: invalid string in json text.
10
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ "\u004d\u0430\u4e8c\ud800\udf02"
@@ -0,0 +1,2 @@
1
+ string: 'Mа二𐌂'
2
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
@@ -0,0 +1,2049 @@
1
+ array open '['
2
+ array open '['
3
+ array open '['
4
+ array open '['
5
+ array open '['
6
+ array open '['
7
+ array open '['
8
+ array open '['
9
+ array open '['
10
+ array open '['
11
+ array open '['
12
+ array open '['
13
+ array open '['
14
+ array open '['
15
+ array open '['
16
+ array open '['
17
+ array open '['
18
+ array open '['
19
+ array open '['
20
+ array open '['
21
+ array open '['
22
+ array open '['
23
+ array open '['
24
+ array open '['
25
+ array open '['
26
+ array open '['
27
+ array open '['
28
+ array open '['
29
+ array open '['
30
+ array open '['
31
+ array open '['
32
+ array open '['
33
+ array open '['
34
+ array open '['
35
+ array open '['
36
+ array open '['
37
+ array open '['
38
+ array open '['
39
+ array open '['
40
+ array open '['
41
+ array open '['
42
+ array open '['
43
+ array open '['
44
+ array open '['
45
+ array open '['
46
+ array open '['
47
+ array open '['
48
+ array open '['
49
+ array open '['
50
+ array open '['
51
+ array open '['
52
+ array open '['
53
+ array open '['
54
+ array open '['
55
+ array open '['
56
+ array open '['
57
+ array open '['
58
+ array open '['
59
+ array open '['
60
+ array open '['
61
+ array open '['
62
+ array open '['
63
+ array open '['
64
+ array open '['
65
+ array open '['
66
+ array open '['
67
+ array open '['
68
+ array open '['
69
+ array open '['
70
+ array open '['
71
+ array open '['
72
+ array open '['
73
+ array open '['
74
+ array open '['
75
+ array open '['
76
+ array open '['
77
+ array open '['
78
+ array open '['
79
+ array open '['
80
+ array open '['
81
+ array open '['
82
+ array open '['
83
+ array open '['
84
+ array open '['
85
+ array open '['
86
+ array open '['
87
+ array open '['
88
+ array open '['
89
+ array open '['
90
+ array open '['
91
+ array open '['
92
+ array open '['
93
+ array open '['
94
+ array open '['
95
+ array open '['
96
+ array open '['
97
+ array open '['
98
+ array open '['
99
+ array open '['
100
+ array open '['
101
+ array open '['
102
+ array open '['
103
+ array open '['
104
+ array open '['
105
+ array open '['
106
+ array open '['
107
+ array open '['
108
+ array open '['
109
+ array open '['
110
+ array open '['
111
+ array open '['
112
+ array open '['
113
+ array open '['
114
+ array open '['
115
+ array open '['
116
+ array open '['
117
+ array open '['
118
+ array open '['
119
+ array open '['
120
+ array open '['
121
+ array open '['
122
+ array open '['
123
+ array open '['
124
+ array open '['
125
+ array open '['
126
+ array open '['
127
+ array open '['
128
+ array open '['
129
+ array open '['
130
+ array open '['
131
+ array open '['
132
+ array open '['
133
+ array open '['
134
+ array open '['
135
+ array open '['
136
+ array open '['
137
+ array open '['
138
+ array open '['
139
+ array open '['
140
+ array open '['
141
+ array open '['
142
+ array open '['
143
+ array open '['
144
+ array open '['
145
+ array open '['
146
+ array open '['
147
+ array open '['
148
+ array open '['
149
+ array open '['
150
+ array open '['
151
+ array open '['
152
+ array open '['
153
+ array open '['
154
+ array open '['
155
+ array open '['
156
+ array open '['
157
+ array open '['
158
+ array open '['
159
+ array open '['
160
+ array open '['
161
+ array open '['
162
+ array open '['
163
+ array open '['
164
+ array open '['
165
+ array open '['
166
+ array open '['
167
+ array open '['
168
+ array open '['
169
+ array open '['
170
+ array open '['
171
+ array open '['
172
+ array open '['
173
+ array open '['
174
+ array open '['
175
+ array open '['
176
+ array open '['
177
+ array open '['
178
+ array open '['
179
+ array open '['
180
+ array open '['
181
+ array open '['
182
+ array open '['
183
+ array open '['
184
+ array open '['
185
+ array open '['
186
+ array open '['
187
+ array open '['
188
+ array open '['
189
+ array open '['
190
+ array open '['
191
+ array open '['
192
+ array open '['
193
+ array open '['
194
+ array open '['
195
+ array open '['
196
+ array open '['
197
+ array open '['
198
+ array open '['
199
+ array open '['
200
+ array open '['
201
+ array open '['
202
+ array open '['
203
+ array open '['
204
+ array open '['
205
+ array open '['
206
+ array open '['
207
+ array open '['
208
+ array open '['
209
+ array open '['
210
+ array open '['
211
+ array open '['
212
+ array open '['
213
+ array open '['
214
+ array open '['
215
+ array open '['
216
+ array open '['
217
+ array open '['
218
+ array open '['
219
+ array open '['
220
+ array open '['
221
+ array open '['
222
+ array open '['
223
+ array open '['
224
+ array open '['
225
+ array open '['
226
+ array open '['
227
+ array open '['
228
+ array open '['
229
+ array open '['
230
+ array open '['
231
+ array open '['
232
+ array open '['
233
+ array open '['
234
+ array open '['
235
+ array open '['
236
+ array open '['
237
+ array open '['
238
+ array open '['
239
+ array open '['
240
+ array open '['
241
+ array open '['
242
+ array open '['
243
+ array open '['
244
+ array open '['
245
+ array open '['
246
+ array open '['
247
+ array open '['
248
+ array open '['
249
+ array open '['
250
+ array open '['
251
+ array open '['
252
+ array open '['
253
+ array open '['
254
+ array open '['
255
+ array open '['
256
+ array open '['
257
+ array open '['
258
+ array open '['
259
+ array open '['
260
+ array open '['
261
+ array open '['
262
+ array open '['
263
+ array open '['
264
+ array open '['
265
+ array open '['
266
+ array open '['
267
+ array open '['
268
+ array open '['
269
+ array open '['
270
+ array open '['
271
+ array open '['
272
+ array open '['
273
+ array open '['
274
+ array open '['
275
+ array open '['
276
+ array open '['
277
+ array open '['
278
+ array open '['
279
+ array open '['
280
+ array open '['
281
+ array open '['
282
+ array open '['
283
+ array open '['
284
+ array open '['
285
+ array open '['
286
+ array open '['
287
+ array open '['
288
+ array open '['
289
+ array open '['
290
+ array open '['
291
+ array open '['
292
+ array open '['
293
+ array open '['
294
+ array open '['
295
+ array open '['
296
+ array open '['
297
+ array open '['
298
+ array open '['
299
+ array open '['
300
+ array open '['
301
+ array open '['
302
+ array open '['
303
+ array open '['
304
+ array open '['
305
+ array open '['
306
+ array open '['
307
+ array open '['
308
+ array open '['
309
+ array open '['
310
+ array open '['
311
+ array open '['
312
+ array open '['
313
+ array open '['
314
+ array open '['
315
+ array open '['
316
+ array open '['
317
+ array open '['
318
+ array open '['
319
+ array open '['
320
+ array open '['
321
+ array open '['
322
+ array open '['
323
+ array open '['
324
+ array open '['
325
+ array open '['
326
+ array open '['
327
+ array open '['
328
+ array open '['
329
+ array open '['
330
+ array open '['
331
+ array open '['
332
+ array open '['
333
+ array open '['
334
+ array open '['
335
+ array open '['
336
+ array open '['
337
+ array open '['
338
+ array open '['
339
+ array open '['
340
+ array open '['
341
+ array open '['
342
+ array open '['
343
+ array open '['
344
+ array open '['
345
+ array open '['
346
+ array open '['
347
+ array open '['
348
+ array open '['
349
+ array open '['
350
+ array open '['
351
+ array open '['
352
+ array open '['
353
+ array open '['
354
+ array open '['
355
+ array open '['
356
+ array open '['
357
+ array open '['
358
+ array open '['
359
+ array open '['
360
+ array open '['
361
+ array open '['
362
+ array open '['
363
+ array open '['
364
+ array open '['
365
+ array open '['
366
+ array open '['
367
+ array open '['
368
+ array open '['
369
+ array open '['
370
+ array open '['
371
+ array open '['
372
+ array open '['
373
+ array open '['
374
+ array open '['
375
+ array open '['
376
+ array open '['
377
+ array open '['
378
+ array open '['
379
+ array open '['
380
+ array open '['
381
+ array open '['
382
+ array open '['
383
+ array open '['
384
+ array open '['
385
+ array open '['
386
+ array open '['
387
+ array open '['
388
+ array open '['
389
+ array open '['
390
+ array open '['
391
+ array open '['
392
+ array open '['
393
+ array open '['
394
+ array open '['
395
+ array open '['
396
+ array open '['
397
+ array open '['
398
+ array open '['
399
+ array open '['
400
+ array open '['
401
+ array open '['
402
+ array open '['
403
+ array open '['
404
+ array open '['
405
+ array open '['
406
+ array open '['
407
+ array open '['
408
+ array open '['
409
+ array open '['
410
+ array open '['
411
+ array open '['
412
+ array open '['
413
+ array open '['
414
+ array open '['
415
+ array open '['
416
+ array open '['
417
+ array open '['
418
+ array open '['
419
+ array open '['
420
+ array open '['
421
+ array open '['
422
+ array open '['
423
+ array open '['
424
+ array open '['
425
+ array open '['
426
+ array open '['
427
+ array open '['
428
+ array open '['
429
+ array open '['
430
+ array open '['
431
+ array open '['
432
+ array open '['
433
+ array open '['
434
+ array open '['
435
+ array open '['
436
+ array open '['
437
+ array open '['
438
+ array open '['
439
+ array open '['
440
+ array open '['
441
+ array open '['
442
+ array open '['
443
+ array open '['
444
+ array open '['
445
+ array open '['
446
+ array open '['
447
+ array open '['
448
+ array open '['
449
+ array open '['
450
+ array open '['
451
+ array open '['
452
+ array open '['
453
+ array open '['
454
+ array open '['
455
+ array open '['
456
+ array open '['
457
+ array open '['
458
+ array open '['
459
+ array open '['
460
+ array open '['
461
+ array open '['
462
+ array open '['
463
+ array open '['
464
+ array open '['
465
+ array open '['
466
+ array open '['
467
+ array open '['
468
+ array open '['
469
+ array open '['
470
+ array open '['
471
+ array open '['
472
+ array open '['
473
+ array open '['
474
+ array open '['
475
+ array open '['
476
+ array open '['
477
+ array open '['
478
+ array open '['
479
+ array open '['
480
+ array open '['
481
+ array open '['
482
+ array open '['
483
+ array open '['
484
+ array open '['
485
+ array open '['
486
+ array open '['
487
+ array open '['
488
+ array open '['
489
+ array open '['
490
+ array open '['
491
+ array open '['
492
+ array open '['
493
+ array open '['
494
+ array open '['
495
+ array open '['
496
+ array open '['
497
+ array open '['
498
+ array open '['
499
+ array open '['
500
+ array open '['
501
+ array open '['
502
+ array open '['
503
+ array open '['
504
+ array open '['
505
+ array open '['
506
+ array open '['
507
+ array open '['
508
+ array open '['
509
+ array open '['
510
+ array open '['
511
+ array open '['
512
+ array open '['
513
+ array open '['
514
+ array open '['
515
+ array open '['
516
+ array open '['
517
+ array open '['
518
+ array open '['
519
+ array open '['
520
+ array open '['
521
+ array open '['
522
+ array open '['
523
+ array open '['
524
+ array open '['
525
+ array open '['
526
+ array open '['
527
+ array open '['
528
+ array open '['
529
+ array open '['
530
+ array open '['
531
+ array open '['
532
+ array open '['
533
+ array open '['
534
+ array open '['
535
+ array open '['
536
+ array open '['
537
+ array open '['
538
+ array open '['
539
+ array open '['
540
+ array open '['
541
+ array open '['
542
+ array open '['
543
+ array open '['
544
+ array open '['
545
+ array open '['
546
+ array open '['
547
+ array open '['
548
+ array open '['
549
+ array open '['
550
+ array open '['
551
+ array open '['
552
+ array open '['
553
+ array open '['
554
+ array open '['
555
+ array open '['
556
+ array open '['
557
+ array open '['
558
+ array open '['
559
+ array open '['
560
+ array open '['
561
+ array open '['
562
+ array open '['
563
+ array open '['
564
+ array open '['
565
+ array open '['
566
+ array open '['
567
+ array open '['
568
+ array open '['
569
+ array open '['
570
+ array open '['
571
+ array open '['
572
+ array open '['
573
+ array open '['
574
+ array open '['
575
+ array open '['
576
+ array open '['
577
+ array open '['
578
+ array open '['
579
+ array open '['
580
+ array open '['
581
+ array open '['
582
+ array open '['
583
+ array open '['
584
+ array open '['
585
+ array open '['
586
+ array open '['
587
+ array open '['
588
+ array open '['
589
+ array open '['
590
+ array open '['
591
+ array open '['
592
+ array open '['
593
+ array open '['
594
+ array open '['
595
+ array open '['
596
+ array open '['
597
+ array open '['
598
+ array open '['
599
+ array open '['
600
+ array open '['
601
+ array open '['
602
+ array open '['
603
+ array open '['
604
+ array open '['
605
+ array open '['
606
+ array open '['
607
+ array open '['
608
+ array open '['
609
+ array open '['
610
+ array open '['
611
+ array open '['
612
+ array open '['
613
+ array open '['
614
+ array open '['
615
+ array open '['
616
+ array open '['
617
+ array open '['
618
+ array open '['
619
+ array open '['
620
+ array open '['
621
+ array open '['
622
+ array open '['
623
+ array open '['
624
+ array open '['
625
+ array open '['
626
+ array open '['
627
+ array open '['
628
+ array open '['
629
+ array open '['
630
+ array open '['
631
+ array open '['
632
+ array open '['
633
+ array open '['
634
+ array open '['
635
+ array open '['
636
+ array open '['
637
+ array open '['
638
+ array open '['
639
+ array open '['
640
+ array open '['
641
+ array open '['
642
+ array open '['
643
+ array open '['
644
+ array open '['
645
+ array open '['
646
+ array open '['
647
+ array open '['
648
+ array open '['
649
+ array open '['
650
+ array open '['
651
+ array open '['
652
+ array open '['
653
+ array open '['
654
+ array open '['
655
+ array open '['
656
+ array open '['
657
+ array open '['
658
+ array open '['
659
+ array open '['
660
+ array open '['
661
+ array open '['
662
+ array open '['
663
+ array open '['
664
+ array open '['
665
+ array open '['
666
+ array open '['
667
+ array open '['
668
+ array open '['
669
+ array open '['
670
+ array open '['
671
+ array open '['
672
+ array open '['
673
+ array open '['
674
+ array open '['
675
+ array open '['
676
+ array open '['
677
+ array open '['
678
+ array open '['
679
+ array open '['
680
+ array open '['
681
+ array open '['
682
+ array open '['
683
+ array open '['
684
+ array open '['
685
+ array open '['
686
+ array open '['
687
+ array open '['
688
+ array open '['
689
+ array open '['
690
+ array open '['
691
+ array open '['
692
+ array open '['
693
+ array open '['
694
+ array open '['
695
+ array open '['
696
+ array open '['
697
+ array open '['
698
+ array open '['
699
+ array open '['
700
+ array open '['
701
+ array open '['
702
+ array open '['
703
+ array open '['
704
+ array open '['
705
+ array open '['
706
+ array open '['
707
+ array open '['
708
+ array open '['
709
+ array open '['
710
+ array open '['
711
+ array open '['
712
+ array open '['
713
+ array open '['
714
+ array open '['
715
+ array open '['
716
+ array open '['
717
+ array open '['
718
+ array open '['
719
+ array open '['
720
+ array open '['
721
+ array open '['
722
+ array open '['
723
+ array open '['
724
+ array open '['
725
+ array open '['
726
+ array open '['
727
+ array open '['
728
+ array open '['
729
+ array open '['
730
+ array open '['
731
+ array open '['
732
+ array open '['
733
+ array open '['
734
+ array open '['
735
+ array open '['
736
+ array open '['
737
+ array open '['
738
+ array open '['
739
+ array open '['
740
+ array open '['
741
+ array open '['
742
+ array open '['
743
+ array open '['
744
+ array open '['
745
+ array open '['
746
+ array open '['
747
+ array open '['
748
+ array open '['
749
+ array open '['
750
+ array open '['
751
+ array open '['
752
+ array open '['
753
+ array open '['
754
+ array open '['
755
+ array open '['
756
+ array open '['
757
+ array open '['
758
+ array open '['
759
+ array open '['
760
+ array open '['
761
+ array open '['
762
+ array open '['
763
+ array open '['
764
+ array open '['
765
+ array open '['
766
+ array open '['
767
+ array open '['
768
+ array open '['
769
+ array open '['
770
+ array open '['
771
+ array open '['
772
+ array open '['
773
+ array open '['
774
+ array open '['
775
+ array open '['
776
+ array open '['
777
+ array open '['
778
+ array open '['
779
+ array open '['
780
+ array open '['
781
+ array open '['
782
+ array open '['
783
+ array open '['
784
+ array open '['
785
+ array open '['
786
+ array open '['
787
+ array open '['
788
+ array open '['
789
+ array open '['
790
+ array open '['
791
+ array open '['
792
+ array open '['
793
+ array open '['
794
+ array open '['
795
+ array open '['
796
+ array open '['
797
+ array open '['
798
+ array open '['
799
+ array open '['
800
+ array open '['
801
+ array open '['
802
+ array open '['
803
+ array open '['
804
+ array open '['
805
+ array open '['
806
+ array open '['
807
+ array open '['
808
+ array open '['
809
+ array open '['
810
+ array open '['
811
+ array open '['
812
+ array open '['
813
+ array open '['
814
+ array open '['
815
+ array open '['
816
+ array open '['
817
+ array open '['
818
+ array open '['
819
+ array open '['
820
+ array open '['
821
+ array open '['
822
+ array open '['
823
+ array open '['
824
+ array open '['
825
+ array open '['
826
+ array open '['
827
+ array open '['
828
+ array open '['
829
+ array open '['
830
+ array open '['
831
+ array open '['
832
+ array open '['
833
+ array open '['
834
+ array open '['
835
+ array open '['
836
+ array open '['
837
+ array open '['
838
+ array open '['
839
+ array open '['
840
+ array open '['
841
+ array open '['
842
+ array open '['
843
+ array open '['
844
+ array open '['
845
+ array open '['
846
+ array open '['
847
+ array open '['
848
+ array open '['
849
+ array open '['
850
+ array open '['
851
+ array open '['
852
+ array open '['
853
+ array open '['
854
+ array open '['
855
+ array open '['
856
+ array open '['
857
+ array open '['
858
+ array open '['
859
+ array open '['
860
+ array open '['
861
+ array open '['
862
+ array open '['
863
+ array open '['
864
+ array open '['
865
+ array open '['
866
+ array open '['
867
+ array open '['
868
+ array open '['
869
+ array open '['
870
+ array open '['
871
+ array open '['
872
+ array open '['
873
+ array open '['
874
+ array open '['
875
+ array open '['
876
+ array open '['
877
+ array open '['
878
+ array open '['
879
+ array open '['
880
+ array open '['
881
+ array open '['
882
+ array open '['
883
+ array open '['
884
+ array open '['
885
+ array open '['
886
+ array open '['
887
+ array open '['
888
+ array open '['
889
+ array open '['
890
+ array open '['
891
+ array open '['
892
+ array open '['
893
+ array open '['
894
+ array open '['
895
+ array open '['
896
+ array open '['
897
+ array open '['
898
+ array open '['
899
+ array open '['
900
+ array open '['
901
+ array open '['
902
+ array open '['
903
+ array open '['
904
+ array open '['
905
+ array open '['
906
+ array open '['
907
+ array open '['
908
+ array open '['
909
+ array open '['
910
+ array open '['
911
+ array open '['
912
+ array open '['
913
+ array open '['
914
+ array open '['
915
+ array open '['
916
+ array open '['
917
+ array open '['
918
+ array open '['
919
+ array open '['
920
+ array open '['
921
+ array open '['
922
+ array open '['
923
+ array open '['
924
+ array open '['
925
+ array open '['
926
+ array open '['
927
+ array open '['
928
+ array open '['
929
+ array open '['
930
+ array open '['
931
+ array open '['
932
+ array open '['
933
+ array open '['
934
+ array open '['
935
+ array open '['
936
+ array open '['
937
+ array open '['
938
+ array open '['
939
+ array open '['
940
+ array open '['
941
+ array open '['
942
+ array open '['
943
+ array open '['
944
+ array open '['
945
+ array open '['
946
+ array open '['
947
+ array open '['
948
+ array open '['
949
+ array open '['
950
+ array open '['
951
+ array open '['
952
+ array open '['
953
+ array open '['
954
+ array open '['
955
+ array open '['
956
+ array open '['
957
+ array open '['
958
+ array open '['
959
+ array open '['
960
+ array open '['
961
+ array open '['
962
+ array open '['
963
+ array open '['
964
+ array open '['
965
+ array open '['
966
+ array open '['
967
+ array open '['
968
+ array open '['
969
+ array open '['
970
+ array open '['
971
+ array open '['
972
+ array open '['
973
+ array open '['
974
+ array open '['
975
+ array open '['
976
+ array open '['
977
+ array open '['
978
+ array open '['
979
+ array open '['
980
+ array open '['
981
+ array open '['
982
+ array open '['
983
+ array open '['
984
+ array open '['
985
+ array open '['
986
+ array open '['
987
+ array open '['
988
+ array open '['
989
+ array open '['
990
+ array open '['
991
+ array open '['
992
+ array open '['
993
+ array open '['
994
+ array open '['
995
+ array open '['
996
+ array open '['
997
+ array open '['
998
+ array open '['
999
+ array open '['
1000
+ array open '['
1001
+ array open '['
1002
+ array open '['
1003
+ array open '['
1004
+ array open '['
1005
+ array open '['
1006
+ array open '['
1007
+ array open '['
1008
+ array open '['
1009
+ array open '['
1010
+ array open '['
1011
+ array open '['
1012
+ array open '['
1013
+ array open '['
1014
+ array open '['
1015
+ array open '['
1016
+ array open '['
1017
+ array open '['
1018
+ array open '['
1019
+ array open '['
1020
+ array open '['
1021
+ array open '['
1022
+ array open '['
1023
+ array open '['
1024
+ array open '['
1025
+ array close ']'
1026
+ array close ']'
1027
+ array close ']'
1028
+ array close ']'
1029
+ array close ']'
1030
+ array close ']'
1031
+ array close ']'
1032
+ array close ']'
1033
+ array close ']'
1034
+ array close ']'
1035
+ array close ']'
1036
+ array close ']'
1037
+ array close ']'
1038
+ array close ']'
1039
+ array close ']'
1040
+ array close ']'
1041
+ array close ']'
1042
+ array close ']'
1043
+ array close ']'
1044
+ array close ']'
1045
+ array close ']'
1046
+ array close ']'
1047
+ array close ']'
1048
+ array close ']'
1049
+ array close ']'
1050
+ array close ']'
1051
+ array close ']'
1052
+ array close ']'
1053
+ array close ']'
1054
+ array close ']'
1055
+ array close ']'
1056
+ array close ']'
1057
+ array close ']'
1058
+ array close ']'
1059
+ array close ']'
1060
+ array close ']'
1061
+ array close ']'
1062
+ array close ']'
1063
+ array close ']'
1064
+ array close ']'
1065
+ array close ']'
1066
+ array close ']'
1067
+ array close ']'
1068
+ array close ']'
1069
+ array close ']'
1070
+ array close ']'
1071
+ array close ']'
1072
+ array close ']'
1073
+ array close ']'
1074
+ array close ']'
1075
+ array close ']'
1076
+ array close ']'
1077
+ array close ']'
1078
+ array close ']'
1079
+ array close ']'
1080
+ array close ']'
1081
+ array close ']'
1082
+ array close ']'
1083
+ array close ']'
1084
+ array close ']'
1085
+ array close ']'
1086
+ array close ']'
1087
+ array close ']'
1088
+ array close ']'
1089
+ array close ']'
1090
+ array close ']'
1091
+ array close ']'
1092
+ array close ']'
1093
+ array close ']'
1094
+ array close ']'
1095
+ array close ']'
1096
+ array close ']'
1097
+ array close ']'
1098
+ array close ']'
1099
+ array close ']'
1100
+ array close ']'
1101
+ array close ']'
1102
+ array close ']'
1103
+ array close ']'
1104
+ array close ']'
1105
+ array close ']'
1106
+ array close ']'
1107
+ array close ']'
1108
+ array close ']'
1109
+ array close ']'
1110
+ array close ']'
1111
+ array close ']'
1112
+ array close ']'
1113
+ array close ']'
1114
+ array close ']'
1115
+ array close ']'
1116
+ array close ']'
1117
+ array close ']'
1118
+ array close ']'
1119
+ array close ']'
1120
+ array close ']'
1121
+ array close ']'
1122
+ array close ']'
1123
+ array close ']'
1124
+ array close ']'
1125
+ array close ']'
1126
+ array close ']'
1127
+ array close ']'
1128
+ array close ']'
1129
+ array close ']'
1130
+ array close ']'
1131
+ array close ']'
1132
+ array close ']'
1133
+ array close ']'
1134
+ array close ']'
1135
+ array close ']'
1136
+ array close ']'
1137
+ array close ']'
1138
+ array close ']'
1139
+ array close ']'
1140
+ array close ']'
1141
+ array close ']'
1142
+ array close ']'
1143
+ array close ']'
1144
+ array close ']'
1145
+ array close ']'
1146
+ array close ']'
1147
+ array close ']'
1148
+ array close ']'
1149
+ array close ']'
1150
+ array close ']'
1151
+ array close ']'
1152
+ array close ']'
1153
+ array close ']'
1154
+ array close ']'
1155
+ array close ']'
1156
+ array close ']'
1157
+ array close ']'
1158
+ array close ']'
1159
+ array close ']'
1160
+ array close ']'
1161
+ array close ']'
1162
+ array close ']'
1163
+ array close ']'
1164
+ array close ']'
1165
+ array close ']'
1166
+ array close ']'
1167
+ array close ']'
1168
+ array close ']'
1169
+ array close ']'
1170
+ array close ']'
1171
+ array close ']'
1172
+ array close ']'
1173
+ array close ']'
1174
+ array close ']'
1175
+ array close ']'
1176
+ array close ']'
1177
+ array close ']'
1178
+ array close ']'
1179
+ array close ']'
1180
+ array close ']'
1181
+ array close ']'
1182
+ array close ']'
1183
+ array close ']'
1184
+ array close ']'
1185
+ array close ']'
1186
+ array close ']'
1187
+ array close ']'
1188
+ array close ']'
1189
+ array close ']'
1190
+ array close ']'
1191
+ array close ']'
1192
+ array close ']'
1193
+ array close ']'
1194
+ array close ']'
1195
+ array close ']'
1196
+ array close ']'
1197
+ array close ']'
1198
+ array close ']'
1199
+ array close ']'
1200
+ array close ']'
1201
+ array close ']'
1202
+ array close ']'
1203
+ array close ']'
1204
+ array close ']'
1205
+ array close ']'
1206
+ array close ']'
1207
+ array close ']'
1208
+ array close ']'
1209
+ array close ']'
1210
+ array close ']'
1211
+ array close ']'
1212
+ array close ']'
1213
+ array close ']'
1214
+ array close ']'
1215
+ array close ']'
1216
+ array close ']'
1217
+ array close ']'
1218
+ array close ']'
1219
+ array close ']'
1220
+ array close ']'
1221
+ array close ']'
1222
+ array close ']'
1223
+ array close ']'
1224
+ array close ']'
1225
+ array close ']'
1226
+ array close ']'
1227
+ array close ']'
1228
+ array close ']'
1229
+ array close ']'
1230
+ array close ']'
1231
+ array close ']'
1232
+ array close ']'
1233
+ array close ']'
1234
+ array close ']'
1235
+ array close ']'
1236
+ array close ']'
1237
+ array close ']'
1238
+ array close ']'
1239
+ array close ']'
1240
+ array close ']'
1241
+ array close ']'
1242
+ array close ']'
1243
+ array close ']'
1244
+ array close ']'
1245
+ array close ']'
1246
+ array close ']'
1247
+ array close ']'
1248
+ array close ']'
1249
+ array close ']'
1250
+ array close ']'
1251
+ array close ']'
1252
+ array close ']'
1253
+ array close ']'
1254
+ array close ']'
1255
+ array close ']'
1256
+ array close ']'
1257
+ array close ']'
1258
+ array close ']'
1259
+ array close ']'
1260
+ array close ']'
1261
+ array close ']'
1262
+ array close ']'
1263
+ array close ']'
1264
+ array close ']'
1265
+ array close ']'
1266
+ array close ']'
1267
+ array close ']'
1268
+ array close ']'
1269
+ array close ']'
1270
+ array close ']'
1271
+ array close ']'
1272
+ array close ']'
1273
+ array close ']'
1274
+ array close ']'
1275
+ array close ']'
1276
+ array close ']'
1277
+ array close ']'
1278
+ array close ']'
1279
+ array close ']'
1280
+ array close ']'
1281
+ array close ']'
1282
+ array close ']'
1283
+ array close ']'
1284
+ array close ']'
1285
+ array close ']'
1286
+ array close ']'
1287
+ array close ']'
1288
+ array close ']'
1289
+ array close ']'
1290
+ array close ']'
1291
+ array close ']'
1292
+ array close ']'
1293
+ array close ']'
1294
+ array close ']'
1295
+ array close ']'
1296
+ array close ']'
1297
+ array close ']'
1298
+ array close ']'
1299
+ array close ']'
1300
+ array close ']'
1301
+ array close ']'
1302
+ array close ']'
1303
+ array close ']'
1304
+ array close ']'
1305
+ array close ']'
1306
+ array close ']'
1307
+ array close ']'
1308
+ array close ']'
1309
+ array close ']'
1310
+ array close ']'
1311
+ array close ']'
1312
+ array close ']'
1313
+ array close ']'
1314
+ array close ']'
1315
+ array close ']'
1316
+ array close ']'
1317
+ array close ']'
1318
+ array close ']'
1319
+ array close ']'
1320
+ array close ']'
1321
+ array close ']'
1322
+ array close ']'
1323
+ array close ']'
1324
+ array close ']'
1325
+ array close ']'
1326
+ array close ']'
1327
+ array close ']'
1328
+ array close ']'
1329
+ array close ']'
1330
+ array close ']'
1331
+ array close ']'
1332
+ array close ']'
1333
+ array close ']'
1334
+ array close ']'
1335
+ array close ']'
1336
+ array close ']'
1337
+ array close ']'
1338
+ array close ']'
1339
+ array close ']'
1340
+ array close ']'
1341
+ array close ']'
1342
+ array close ']'
1343
+ array close ']'
1344
+ array close ']'
1345
+ array close ']'
1346
+ array close ']'
1347
+ array close ']'
1348
+ array close ']'
1349
+ array close ']'
1350
+ array close ']'
1351
+ array close ']'
1352
+ array close ']'
1353
+ array close ']'
1354
+ array close ']'
1355
+ array close ']'
1356
+ array close ']'
1357
+ array close ']'
1358
+ array close ']'
1359
+ array close ']'
1360
+ array close ']'
1361
+ array close ']'
1362
+ array close ']'
1363
+ array close ']'
1364
+ array close ']'
1365
+ array close ']'
1366
+ array close ']'
1367
+ array close ']'
1368
+ array close ']'
1369
+ array close ']'
1370
+ array close ']'
1371
+ array close ']'
1372
+ array close ']'
1373
+ array close ']'
1374
+ array close ']'
1375
+ array close ']'
1376
+ array close ']'
1377
+ array close ']'
1378
+ array close ']'
1379
+ array close ']'
1380
+ array close ']'
1381
+ array close ']'
1382
+ array close ']'
1383
+ array close ']'
1384
+ array close ']'
1385
+ array close ']'
1386
+ array close ']'
1387
+ array close ']'
1388
+ array close ']'
1389
+ array close ']'
1390
+ array close ']'
1391
+ array close ']'
1392
+ array close ']'
1393
+ array close ']'
1394
+ array close ']'
1395
+ array close ']'
1396
+ array close ']'
1397
+ array close ']'
1398
+ array close ']'
1399
+ array close ']'
1400
+ array close ']'
1401
+ array close ']'
1402
+ array close ']'
1403
+ array close ']'
1404
+ array close ']'
1405
+ array close ']'
1406
+ array close ']'
1407
+ array close ']'
1408
+ array close ']'
1409
+ array close ']'
1410
+ array close ']'
1411
+ array close ']'
1412
+ array close ']'
1413
+ array close ']'
1414
+ array close ']'
1415
+ array close ']'
1416
+ array close ']'
1417
+ array close ']'
1418
+ array close ']'
1419
+ array close ']'
1420
+ array close ']'
1421
+ array close ']'
1422
+ array close ']'
1423
+ array close ']'
1424
+ array close ']'
1425
+ array close ']'
1426
+ array close ']'
1427
+ array close ']'
1428
+ array close ']'
1429
+ array close ']'
1430
+ array close ']'
1431
+ array close ']'
1432
+ array close ']'
1433
+ array close ']'
1434
+ array close ']'
1435
+ array close ']'
1436
+ array close ']'
1437
+ array close ']'
1438
+ array close ']'
1439
+ array close ']'
1440
+ array close ']'
1441
+ array close ']'
1442
+ array close ']'
1443
+ array close ']'
1444
+ array close ']'
1445
+ array close ']'
1446
+ array close ']'
1447
+ array close ']'
1448
+ array close ']'
1449
+ array close ']'
1450
+ array close ']'
1451
+ array close ']'
1452
+ array close ']'
1453
+ array close ']'
1454
+ array close ']'
1455
+ array close ']'
1456
+ array close ']'
1457
+ array close ']'
1458
+ array close ']'
1459
+ array close ']'
1460
+ array close ']'
1461
+ array close ']'
1462
+ array close ']'
1463
+ array close ']'
1464
+ array close ']'
1465
+ array close ']'
1466
+ array close ']'
1467
+ array close ']'
1468
+ array close ']'
1469
+ array close ']'
1470
+ array close ']'
1471
+ array close ']'
1472
+ array close ']'
1473
+ array close ']'
1474
+ array close ']'
1475
+ array close ']'
1476
+ array close ']'
1477
+ array close ']'
1478
+ array close ']'
1479
+ array close ']'
1480
+ array close ']'
1481
+ array close ']'
1482
+ array close ']'
1483
+ array close ']'
1484
+ array close ']'
1485
+ array close ']'
1486
+ array close ']'
1487
+ array close ']'
1488
+ array close ']'
1489
+ array close ']'
1490
+ array close ']'
1491
+ array close ']'
1492
+ array close ']'
1493
+ array close ']'
1494
+ array close ']'
1495
+ array close ']'
1496
+ array close ']'
1497
+ array close ']'
1498
+ array close ']'
1499
+ array close ']'
1500
+ array close ']'
1501
+ array close ']'
1502
+ array close ']'
1503
+ array close ']'
1504
+ array close ']'
1505
+ array close ']'
1506
+ array close ']'
1507
+ array close ']'
1508
+ array close ']'
1509
+ array close ']'
1510
+ array close ']'
1511
+ array close ']'
1512
+ array close ']'
1513
+ array close ']'
1514
+ array close ']'
1515
+ array close ']'
1516
+ array close ']'
1517
+ array close ']'
1518
+ array close ']'
1519
+ array close ']'
1520
+ array close ']'
1521
+ array close ']'
1522
+ array close ']'
1523
+ array close ']'
1524
+ array close ']'
1525
+ array close ']'
1526
+ array close ']'
1527
+ array close ']'
1528
+ array close ']'
1529
+ array close ']'
1530
+ array close ']'
1531
+ array close ']'
1532
+ array close ']'
1533
+ array close ']'
1534
+ array close ']'
1535
+ array close ']'
1536
+ array close ']'
1537
+ array close ']'
1538
+ array close ']'
1539
+ array close ']'
1540
+ array close ']'
1541
+ array close ']'
1542
+ array close ']'
1543
+ array close ']'
1544
+ array close ']'
1545
+ array close ']'
1546
+ array close ']'
1547
+ array close ']'
1548
+ array close ']'
1549
+ array close ']'
1550
+ array close ']'
1551
+ array close ']'
1552
+ array close ']'
1553
+ array close ']'
1554
+ array close ']'
1555
+ array close ']'
1556
+ array close ']'
1557
+ array close ']'
1558
+ array close ']'
1559
+ array close ']'
1560
+ array close ']'
1561
+ array close ']'
1562
+ array close ']'
1563
+ array close ']'
1564
+ array close ']'
1565
+ array close ']'
1566
+ array close ']'
1567
+ array close ']'
1568
+ array close ']'
1569
+ array close ']'
1570
+ array close ']'
1571
+ array close ']'
1572
+ array close ']'
1573
+ array close ']'
1574
+ array close ']'
1575
+ array close ']'
1576
+ array close ']'
1577
+ array close ']'
1578
+ array close ']'
1579
+ array close ']'
1580
+ array close ']'
1581
+ array close ']'
1582
+ array close ']'
1583
+ array close ']'
1584
+ array close ']'
1585
+ array close ']'
1586
+ array close ']'
1587
+ array close ']'
1588
+ array close ']'
1589
+ array close ']'
1590
+ array close ']'
1591
+ array close ']'
1592
+ array close ']'
1593
+ array close ']'
1594
+ array close ']'
1595
+ array close ']'
1596
+ array close ']'
1597
+ array close ']'
1598
+ array close ']'
1599
+ array close ']'
1600
+ array close ']'
1601
+ array close ']'
1602
+ array close ']'
1603
+ array close ']'
1604
+ array close ']'
1605
+ array close ']'
1606
+ array close ']'
1607
+ array close ']'
1608
+ array close ']'
1609
+ array close ']'
1610
+ array close ']'
1611
+ array close ']'
1612
+ array close ']'
1613
+ array close ']'
1614
+ array close ']'
1615
+ array close ']'
1616
+ array close ']'
1617
+ array close ']'
1618
+ array close ']'
1619
+ array close ']'
1620
+ array close ']'
1621
+ array close ']'
1622
+ array close ']'
1623
+ array close ']'
1624
+ array close ']'
1625
+ array close ']'
1626
+ array close ']'
1627
+ array close ']'
1628
+ array close ']'
1629
+ array close ']'
1630
+ array close ']'
1631
+ array close ']'
1632
+ array close ']'
1633
+ array close ']'
1634
+ array close ']'
1635
+ array close ']'
1636
+ array close ']'
1637
+ array close ']'
1638
+ array close ']'
1639
+ array close ']'
1640
+ array close ']'
1641
+ array close ']'
1642
+ array close ']'
1643
+ array close ']'
1644
+ array close ']'
1645
+ array close ']'
1646
+ array close ']'
1647
+ array close ']'
1648
+ array close ']'
1649
+ array close ']'
1650
+ array close ']'
1651
+ array close ']'
1652
+ array close ']'
1653
+ array close ']'
1654
+ array close ']'
1655
+ array close ']'
1656
+ array close ']'
1657
+ array close ']'
1658
+ array close ']'
1659
+ array close ']'
1660
+ array close ']'
1661
+ array close ']'
1662
+ array close ']'
1663
+ array close ']'
1664
+ array close ']'
1665
+ array close ']'
1666
+ array close ']'
1667
+ array close ']'
1668
+ array close ']'
1669
+ array close ']'
1670
+ array close ']'
1671
+ array close ']'
1672
+ array close ']'
1673
+ array close ']'
1674
+ array close ']'
1675
+ array close ']'
1676
+ array close ']'
1677
+ array close ']'
1678
+ array close ']'
1679
+ array close ']'
1680
+ array close ']'
1681
+ array close ']'
1682
+ array close ']'
1683
+ array close ']'
1684
+ array close ']'
1685
+ array close ']'
1686
+ array close ']'
1687
+ array close ']'
1688
+ array close ']'
1689
+ array close ']'
1690
+ array close ']'
1691
+ array close ']'
1692
+ array close ']'
1693
+ array close ']'
1694
+ array close ']'
1695
+ array close ']'
1696
+ array close ']'
1697
+ array close ']'
1698
+ array close ']'
1699
+ array close ']'
1700
+ array close ']'
1701
+ array close ']'
1702
+ array close ']'
1703
+ array close ']'
1704
+ array close ']'
1705
+ array close ']'
1706
+ array close ']'
1707
+ array close ']'
1708
+ array close ']'
1709
+ array close ']'
1710
+ array close ']'
1711
+ array close ']'
1712
+ array close ']'
1713
+ array close ']'
1714
+ array close ']'
1715
+ array close ']'
1716
+ array close ']'
1717
+ array close ']'
1718
+ array close ']'
1719
+ array close ']'
1720
+ array close ']'
1721
+ array close ']'
1722
+ array close ']'
1723
+ array close ']'
1724
+ array close ']'
1725
+ array close ']'
1726
+ array close ']'
1727
+ array close ']'
1728
+ array close ']'
1729
+ array close ']'
1730
+ array close ']'
1731
+ array close ']'
1732
+ array close ']'
1733
+ array close ']'
1734
+ array close ']'
1735
+ array close ']'
1736
+ array close ']'
1737
+ array close ']'
1738
+ array close ']'
1739
+ array close ']'
1740
+ array close ']'
1741
+ array close ']'
1742
+ array close ']'
1743
+ array close ']'
1744
+ array close ']'
1745
+ array close ']'
1746
+ array close ']'
1747
+ array close ']'
1748
+ array close ']'
1749
+ array close ']'
1750
+ array close ']'
1751
+ array close ']'
1752
+ array close ']'
1753
+ array close ']'
1754
+ array close ']'
1755
+ array close ']'
1756
+ array close ']'
1757
+ array close ']'
1758
+ array close ']'
1759
+ array close ']'
1760
+ array close ']'
1761
+ array close ']'
1762
+ array close ']'
1763
+ array close ']'
1764
+ array close ']'
1765
+ array close ']'
1766
+ array close ']'
1767
+ array close ']'
1768
+ array close ']'
1769
+ array close ']'
1770
+ array close ']'
1771
+ array close ']'
1772
+ array close ']'
1773
+ array close ']'
1774
+ array close ']'
1775
+ array close ']'
1776
+ array close ']'
1777
+ array close ']'
1778
+ array close ']'
1779
+ array close ']'
1780
+ array close ']'
1781
+ array close ']'
1782
+ array close ']'
1783
+ array close ']'
1784
+ array close ']'
1785
+ array close ']'
1786
+ array close ']'
1787
+ array close ']'
1788
+ array close ']'
1789
+ array close ']'
1790
+ array close ']'
1791
+ array close ']'
1792
+ array close ']'
1793
+ array close ']'
1794
+ array close ']'
1795
+ array close ']'
1796
+ array close ']'
1797
+ array close ']'
1798
+ array close ']'
1799
+ array close ']'
1800
+ array close ']'
1801
+ array close ']'
1802
+ array close ']'
1803
+ array close ']'
1804
+ array close ']'
1805
+ array close ']'
1806
+ array close ']'
1807
+ array close ']'
1808
+ array close ']'
1809
+ array close ']'
1810
+ array close ']'
1811
+ array close ']'
1812
+ array close ']'
1813
+ array close ']'
1814
+ array close ']'
1815
+ array close ']'
1816
+ array close ']'
1817
+ array close ']'
1818
+ array close ']'
1819
+ array close ']'
1820
+ array close ']'
1821
+ array close ']'
1822
+ array close ']'
1823
+ array close ']'
1824
+ array close ']'
1825
+ array close ']'
1826
+ array close ']'
1827
+ array close ']'
1828
+ array close ']'
1829
+ array close ']'
1830
+ array close ']'
1831
+ array close ']'
1832
+ array close ']'
1833
+ array close ']'
1834
+ array close ']'
1835
+ array close ']'
1836
+ array close ']'
1837
+ array close ']'
1838
+ array close ']'
1839
+ array close ']'
1840
+ array close ']'
1841
+ array close ']'
1842
+ array close ']'
1843
+ array close ']'
1844
+ array close ']'
1845
+ array close ']'
1846
+ array close ']'
1847
+ array close ']'
1848
+ array close ']'
1849
+ array close ']'
1850
+ array close ']'
1851
+ array close ']'
1852
+ array close ']'
1853
+ array close ']'
1854
+ array close ']'
1855
+ array close ']'
1856
+ array close ']'
1857
+ array close ']'
1858
+ array close ']'
1859
+ array close ']'
1860
+ array close ']'
1861
+ array close ']'
1862
+ array close ']'
1863
+ array close ']'
1864
+ array close ']'
1865
+ array close ']'
1866
+ array close ']'
1867
+ array close ']'
1868
+ array close ']'
1869
+ array close ']'
1870
+ array close ']'
1871
+ array close ']'
1872
+ array close ']'
1873
+ array close ']'
1874
+ array close ']'
1875
+ array close ']'
1876
+ array close ']'
1877
+ array close ']'
1878
+ array close ']'
1879
+ array close ']'
1880
+ array close ']'
1881
+ array close ']'
1882
+ array close ']'
1883
+ array close ']'
1884
+ array close ']'
1885
+ array close ']'
1886
+ array close ']'
1887
+ array close ']'
1888
+ array close ']'
1889
+ array close ']'
1890
+ array close ']'
1891
+ array close ']'
1892
+ array close ']'
1893
+ array close ']'
1894
+ array close ']'
1895
+ array close ']'
1896
+ array close ']'
1897
+ array close ']'
1898
+ array close ']'
1899
+ array close ']'
1900
+ array close ']'
1901
+ array close ']'
1902
+ array close ']'
1903
+ array close ']'
1904
+ array close ']'
1905
+ array close ']'
1906
+ array close ']'
1907
+ array close ']'
1908
+ array close ']'
1909
+ array close ']'
1910
+ array close ']'
1911
+ array close ']'
1912
+ array close ']'
1913
+ array close ']'
1914
+ array close ']'
1915
+ array close ']'
1916
+ array close ']'
1917
+ array close ']'
1918
+ array close ']'
1919
+ array close ']'
1920
+ array close ']'
1921
+ array close ']'
1922
+ array close ']'
1923
+ array close ']'
1924
+ array close ']'
1925
+ array close ']'
1926
+ array close ']'
1927
+ array close ']'
1928
+ array close ']'
1929
+ array close ']'
1930
+ array close ']'
1931
+ array close ']'
1932
+ array close ']'
1933
+ array close ']'
1934
+ array close ']'
1935
+ array close ']'
1936
+ array close ']'
1937
+ array close ']'
1938
+ array close ']'
1939
+ array close ']'
1940
+ array close ']'
1941
+ array close ']'
1942
+ array close ']'
1943
+ array close ']'
1944
+ array close ']'
1945
+ array close ']'
1946
+ array close ']'
1947
+ array close ']'
1948
+ array close ']'
1949
+ array close ']'
1950
+ array close ']'
1951
+ array close ']'
1952
+ array close ']'
1953
+ array close ']'
1954
+ array close ']'
1955
+ array close ']'
1956
+ array close ']'
1957
+ array close ']'
1958
+ array close ']'
1959
+ array close ']'
1960
+ array close ']'
1961
+ array close ']'
1962
+ array close ']'
1963
+ array close ']'
1964
+ array close ']'
1965
+ array close ']'
1966
+ array close ']'
1967
+ array close ']'
1968
+ array close ']'
1969
+ array close ']'
1970
+ array close ']'
1971
+ array close ']'
1972
+ array close ']'
1973
+ array close ']'
1974
+ array close ']'
1975
+ array close ']'
1976
+ array close ']'
1977
+ array close ']'
1978
+ array close ']'
1979
+ array close ']'
1980
+ array close ']'
1981
+ array close ']'
1982
+ array close ']'
1983
+ array close ']'
1984
+ array close ']'
1985
+ array close ']'
1986
+ array close ']'
1987
+ array close ']'
1988
+ array close ']'
1989
+ array close ']'
1990
+ array close ']'
1991
+ array close ']'
1992
+ array close ']'
1993
+ array close ']'
1994
+ array close ']'
1995
+ array close ']'
1996
+ array close ']'
1997
+ array close ']'
1998
+ array close ']'
1999
+ array close ']'
2000
+ array close ']'
2001
+ array close ']'
2002
+ array close ']'
2003
+ array close ']'
2004
+ array close ']'
2005
+ array close ']'
2006
+ array close ']'
2007
+ array close ']'
2008
+ array close ']'
2009
+ array close ']'
2010
+ array close ']'
2011
+ array close ']'
2012
+ array close ']'
2013
+ array close ']'
2014
+ array close ']'
2015
+ array close ']'
2016
+ array close ']'
2017
+ array close ']'
2018
+ array close ']'
2019
+ array close ']'
2020
+ array close ']'
2021
+ array close ']'
2022
+ array close ']'
2023
+ array close ']'
2024
+ array close ']'
2025
+ array close ']'
2026
+ array close ']'
2027
+ array close ']'
2028
+ array close ']'
2029
+ array close ']'
2030
+ array close ']'
2031
+ array close ']'
2032
+ array close ']'
2033
+ array close ']'
2034
+ array close ']'
2035
+ array close ']'
2036
+ array close ']'
2037
+ array close ']'
2038
+ array close ']'
2039
+ array close ']'
2040
+ array close ']'
2041
+ array close ']'
2042
+ array close ']'
2043
+ array close ']'
2044
+ array close ']'
2045
+ array close ']'
2046
+ array close ']'
2047
+ array close ']'
2048
+ array close ']'
2049
+ memory leaks: 0