From d91067220faa5e3761b48ee89fa7ced1a9257236 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Thu, 13 Oct 2016 21:00:48 +0200
Subject: [PATCH 01/19] added missing overflow check for #329

---
 README.md                    | 2 +-
 src/json.hpp                 | 7 +++++++
 src/json.hpp.re2c            | 7 +++++++
 test/src/unit-regression.cpp | 6 ++++++
 4 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 0691419d..8fde28bc 100644
--- a/README.md
+++ b/README.md
@@ -516,7 +516,7 @@ To compile and run the tests, you need to execute
 $ make check
 
 ===============================================================================
-All tests passed (8905168 assertions in 35 test cases)
+All tests passed (8905169 assertions in 35 test cases)
 ```
 
 Alternatively, you can use [https://cmake.org](CMake) and run
diff --git a/src/json.hpp b/src/json.hpp
index 7e7701a9..35a211fc 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -8960,6 +8960,13 @@ basic_json_parser_63:
             {
                 // parse with strtod
                 result.m_value.number_float = str_to_float_t(static_cast<number_float_t*>(nullptr), NULL);
+
+                // replace infinity and NAN by null
+                if (not std::isfinite(result.m_value.number_float))
+                {
+                    type = value_t::null;
+                    result.m_value = basic_json::json_value();
+                }
             }
 
             // save the type
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index c74bf11f..b9c538f9 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -8257,6 +8257,13 @@ class basic_json
             {
                 // parse with strtod
                 result.m_value.number_float = str_to_float_t(static_cast<number_float_t*>(nullptr), NULL);
+
+                // replace infinity and NAN by null
+                if (not std::isfinite(result.m_value.number_float))
+                {
+                    type = value_t::null;
+                    result.m_value = basic_json::json_value();
+                }
             }
 
             // save the type
diff --git a/test/src/unit-regression.cpp b/test/src/unit-regression.cpp
index 6d93e744..fee861e9 100644
--- a/test/src/unit-regression.cpp
+++ b/test/src/unit-regression.cpp
@@ -489,4 +489,10 @@ TEST_CASE("regression tests")
         j["/this/that"_json_pointer] = 27;
         CHECK(j == json({{"this", {{"that", 27}}}}));
     }
+
+    SECTION("issue #329 - serialized value not always can be parsed")
+    {
+        json j = json::parse("22e2222");
+        CHECK(j == json());
+    }
 }

From cb2d41e3a08cfa38c92cca93b87a34ca8c0e7fc1 Mon Sep 17 00:00:00 2001
From: Denis Andrejew <da.colonel@gmail.com>
Date: Sun, 16 Oct 2016 02:46:43 +0200
Subject: [PATCH 02/19] fix minor grammar/style issue in README.md

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index aa698c76..d3c10703 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@
 
 There are myriads of [JSON](http://json.org) libraries out there, and each may even have its reason to exist. Our class had these design goals:
 
-- **Intuitive syntax**. In languages such as Python, JSON feels like a first class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code. Check out the [examples below](#examples) and you know, what I mean.
+- **Intuitive syntax**. In languages such as Python, JSON feels like a first class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code. Check out the [examples below](#examples) and you'll know what I mean.
 
 - **Trivial integration**. Our whole code consists of a single header file [`json.hpp`](https://github.com/nlohmann/json/blob/develop/src/json.hpp). That's it. No library, no subproject, no dependencies, no complex build system. The class is written in vanilla C++11. All in all, everything should require no adjustment of your compiler flags or project settings.
 

From e310850353216d87023e076e21c7a9d9a4f131c9 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sun, 16 Oct 2016 23:46:24 +0200
Subject: [PATCH 03/19] cleanup after #336

---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
index d3c10703..9a651cf1 100644
--- a/README.md
+++ b/README.md
@@ -498,6 +498,7 @@ I deeply appreciate the help of the following people.
 - [Vasil Dimov](https://github.com/vasild) fixed the documentation regarding conversions from `std::multiset`.
 - [ChristophJud](https://github.com/ChristophJud) overworked the CMake files to ease project inclusion.
 - [Vladimir Petrigo](https://github.com/vpetrigo) made a SFINAE hack more readable.
+- [Denis Andrejew](https://github.com/seeekr) fixed a grammar issue in the README file.
 
 Thanks a lot for helping out!
 

From 79d9fdc0161214b2084744a15b200996a7428fc9 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sat, 22 Oct 2016 18:57:58 +0200
Subject: [PATCH 04/19] user-defined string literals exploit string length
 (#340)

---
 src/json.hpp      | 10 ++++++----
 src/json.hpp.re2c | 10 ++++++----
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/json.hpp b/src/json.hpp
index 9c0df9d4..83cbfdb1 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -10590,13 +10590,14 @@ can be used by adding `"_json"` to a string literal and returns a JSON object
 if no parse error occurred.
 
 @param[in] s  a string representation of a JSON object
+@param[in] n  the length of string @a s
 @return a JSON object
 
 @since version 1.0.0
 */
-inline nlohmann::json operator "" _json(const char* s, std::size_t)
+inline nlohmann::json operator "" _json(const char* s, std::size_t n)
 {
-    return nlohmann::json::parse(s);
+    return nlohmann::json::parse(s, s + n);
 }
 
 /*!
@@ -10607,13 +10608,14 @@ can be used by adding `"_json_pointer"` to a string literal and returns a JSON p
 object if no parse error occurred.
 
 @param[in] s  a string representation of a JSON Pointer
+@param[in] n  the length of string @a s
 @return a JSON pointer object
 
 @since version 2.0.0
 */
-inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t)
+inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
 {
-    return nlohmann::json::json_pointer(s);
+    return nlohmann::json::json_pointer(std::string(s, n));
 }
 
 // restore GCC/clang diagnostic settings
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index 656e13b3..f36879f8 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -9887,13 +9887,14 @@ can be used by adding `"_json"` to a string literal and returns a JSON object
 if no parse error occurred.
 
 @param[in] s  a string representation of a JSON object
+@param[in] n  the length of string @a s
 @return a JSON object
 
 @since version 1.0.0
 */
-inline nlohmann::json operator "" _json(const char* s, std::size_t)
+inline nlohmann::json operator "" _json(const char* s, std::size_t n)
 {
-    return nlohmann::json::parse(s);
+    return nlohmann::json::parse(s, s + n);
 }
 
 /*!
@@ -9904,13 +9905,14 @@ can be used by adding `"_json_pointer"` to a string literal and returns a JSON p
 object if no parse error occurred.
 
 @param[in] s  a string representation of a JSON Pointer
+@param[in] n  the length of string @a s
 @return a JSON pointer object
 
 @since version 2.0.0
 */
-inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t)
+inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
 {
-    return nlohmann::json::json_pointer(s);
+    return nlohmann::json::json_pointer(std::string(s, n));
 }
 
 // restore GCC/clang diagnostic settings

From 3ebe28970a7c53ad974e14360154d09e2ca0a2a5 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sun, 23 Oct 2016 17:25:07 +0200
Subject: [PATCH 05/19] small fixes

---
 doc/json.gif | Bin 449740 -> 454722 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/doc/json.gif b/doc/json.gif
index 2770cfb36fa4e0b944646f7c0e8bf03fa28381c6..943c06af6606c7aa89f687984cf09a3115d5b441 100644
GIT binary patch
delta 76738
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

delta 71531
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%0DmpxXxk*
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
UieTWhBo5Rc^leF;!DPw*0Ui}-pa1{>


From a29fcae409767fe9947e28c3c06938da320a5152 Mon Sep 17 00:00:00 2001
From: Niels Lohmann <niels.lohmann@gmail.com>
Date: Wed, 26 Oct 2016 09:20:40 +0200
Subject: [PATCH 06/19] fixed Cmake link

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 9a651cf1..1f265bf1 100644
--- a/README.md
+++ b/README.md
@@ -520,7 +520,7 @@ $ make check
 All tests passed (8905168 assertions in 35 test cases)
 ```
 
-Alternatively, you can use [https://cmake.org](CMake) and run
+Alternatively, you can use [CMake](https://cmake.org) and run
 
 ```sh
 $ mkdir build

From a2808322c66324cedc3a2f5a9dba0f43267f715b Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Wed, 26 Oct 2016 18:57:56 +0200
Subject: [PATCH 07/19] add test files from
 https://github.com/nst/JSONTestSuite

---
 test/data/nst_json_testsuite/LICENSE          |  21 ++++++++++++++++++
 .../i_number_neg_int_huge_exp.json            |   1 +
 .../i_number_pos_double_huge_exp.json         |   1 +
 .../i_object_key_lone_2nd_surrogate.json      |   1 +
 ..._string_1st_surrogate_but_2nd_missing.json |   1 +
 ...tring_1st_valid_surrogate_2nd_invalid.json |   1 +
 ...tring_UTF-16_invalid_lonely_surrogate.json |   1 +
 .../i_string_UTF-16_invalid_surrogate.json    |   1 +
 .../i_string_UTF-8_invalid_sequence.json      |   1 +
 ...incomplete_surrogate_and_escape_valid.json |   1 +
 .../i_string_incomplete_surrogate_pair.json   |   1 +
 ...ng_incomplete_surrogates_escape_valid.json |   1 +
 .../i_string_inverted_surrogates_U+1D11E.json |   1 +
 .../i_string_lone_second_surrogate.json       |   1 +
 .../i_string_not_in_unicode_range.json        |   1 +
 .../i_string_truncated-utf-8.json             |   1 +
 .../i_string_unicode_U+10FFFE_nonchar.json    |   1 +
 .../i_string_unicode_U+1FFFE_nonchar.json     |   1 +
 .../i_string_unicode_U+FDD0_nonchar.json      |   1 +
 .../i_string_unicode_U+FFFE_nonchar.json      |   1 +
 .../i_structure_500_nested_arrays.json        |   1 +
 .../i_structure_UTF-8_BOM_empty_object.json   |   1 +
 .../n_array_1_true_without_comma.json         |   1 +
 .../test_parsing/n_array_a_invalid_utf8.json  |   1 +
 .../n_array_colon_instead_of_comma.json       |   1 +
 .../n_array_comma_after_close.json            |   1 +
 .../n_array_comma_and_number.json             |   1 +
 .../test_parsing/n_array_double_comma.json    |   1 +
 .../n_array_double_extra_comma.json           |   1 +
 .../test_parsing/n_array_extra_close.json     |   1 +
 .../test_parsing/n_array_extra_comma.json     |   1 +
 .../test_parsing/n_array_incomplete.json      |   1 +
 .../n_array_incomplete_invalid_value.json     |   1 +
 .../n_array_inner_array_no_comma.json         |   1 +
 .../test_parsing/n_array_invalid_utf8.json    |   1 +
 .../n_array_items_separated_by_semicolon.json |   1 +
 .../test_parsing/n_array_just_comma.json      |   1 +
 .../test_parsing/n_array_just_minus.json      |   1 +
 .../test_parsing/n_array_missing_value.json   |   1 +
 .../n_array_newlines_unclosed.json            |   3 +++
 .../n_array_number_and_comma.json             |   1 +
 .../n_array_number_and_several_commas.json    |   1 +
 .../n_array_spaces_vertical_tab_formfeed.json |   1 +
 .../test_parsing/n_array_star_inside.json     |   1 +
 .../test_parsing/n_array_unclosed.json        |   1 +
 .../n_array_unclosed_trailing_comma.json      |   1 +
 .../n_array_unclosed_with_new_lines.json      |   3 +++
 .../n_array_unclosed_with_object_inside.json  |   1 +
 .../test_parsing/n_incomplete_false.json      |   1 +
 .../test_parsing/n_incomplete_null.json       |   1 +
 .../test_parsing/n_incomplete_true.json       |   1 +
 .../test_parsing/n_number_++.json             |   1 +
 .../test_parsing/n_number_+1.json             |   1 +
 .../test_parsing/n_number_+Inf.json           |   1 +
 .../test_parsing/n_number_-01.json            |   1 +
 .../test_parsing/n_number_-1.0..json          |   1 +
 .../test_parsing/n_number_-2..json            |   1 +
 .../test_parsing/n_number_-NaN.json           |   1 +
 .../test_parsing/n_number_.-1.json            |   1 +
 .../test_parsing/n_number_.2e-3.json          |   1 +
 .../test_parsing/n_number_0.1.2.json          |   1 +
 .../test_parsing/n_number_0.3e+.json          |   1 +
 .../test_parsing/n_number_0.3e.json           |   1 +
 .../test_parsing/n_number_0.e1.json           |   1 +
 .../test_parsing/n_number_0_capital_E+.json   |   1 +
 .../test_parsing/n_number_0_capital_E.json    |   1 +
 .../test_parsing/n_number_0e+.json            |   1 +
 .../test_parsing/n_number_0e.json             |   1 +
 .../test_parsing/n_number_1.0e+.json          |   1 +
 .../test_parsing/n_number_1.0e-.json          |   1 +
 .../test_parsing/n_number_1.0e.json           |   1 +
 .../test_parsing/n_number_1_000.json          |   1 +
 .../test_parsing/n_number_1eE2.json           |   1 +
 .../test_parsing/n_number_2.e+3.json          |   1 +
 .../test_parsing/n_number_2.e-3.json          |   1 +
 .../test_parsing/n_number_2.e3.json           |   1 +
 .../test_parsing/n_number_9.e+.json           |   1 +
 .../test_parsing/n_number_Inf.json            |   1 +
 .../test_parsing/n_number_NaN.json            |   1 +
 .../n_number_U+FF11_fullwidth_digit_one.json  |   1 +
 .../test_parsing/n_number_expression.json     |   1 +
 .../test_parsing/n_number_hex_1_digit.json    |   1 +
 .../test_parsing/n_number_hex_2_digits.json   |   1 +
 .../test_parsing/n_number_infinity.json       |   1 +
 .../test_parsing/n_number_invalid+-.json      |   1 +
 .../n_number_invalid-negative-real.json       |   1 +
 .../n_number_invalid-utf-8-in-bigger-int.json |   1 +
 .../n_number_invalid-utf-8-in-exponent.json   |   1 +
 .../n_number_invalid-utf-8-in-int.json        |   1 +
 .../test_parsing/n_number_minus_infinity.json |   1 +
 ...mber_minus_sign_with_trailing_garbage.json |   1 +
 .../test_parsing/n_number_minus_space_1.json  |   1 +
 .../n_number_neg_int_starting_with_zero.json  |   1 +
 .../n_number_neg_real_without_int_part.json   |   1 +
 .../n_number_neg_with_garbage_at_end.json     |   1 +
 .../n_number_real_garbage_after_e.json        |   1 +
 ...number_real_with_invalid_utf8_after_e.json |   1 +
 ...n_number_real_without_fractional_part.json |   1 +
 .../n_number_starting_with_dot.json           |   1 +
 .../test_parsing/n_number_then_00.json        | Bin 0 -> 2 bytes
 .../test_parsing/n_number_with_alpha.json     |   1 +
 .../n_number_with_alpha_char.json             |   1 +
 .../n_number_with_leading_zero.json           |   1 +
 .../test_parsing/n_object_bad_value.json      |   1 +
 .../test_parsing/n_object_bracket_key.json    |   1 +
 .../n_object_comma_instead_of_colon.json      |   1 +
 .../test_parsing/n_object_double_colon.json   |   1 +
 .../test_parsing/n_object_emoji.json          |   1 +
 .../test_parsing/n_object_garbage_at_end.json |   1 +
 .../n_object_key_with_single_quotes.json      |   1 +
 .../test_parsing/n_object_missing_colon.json  |   1 +
 .../test_parsing/n_object_missing_key.json    |   1 +
 .../n_object_missing_semicolon.json           |   1 +
 .../test_parsing/n_object_missing_value.json  |   1 +
 .../test_parsing/n_object_no-colon.json       |   1 +
 .../test_parsing/n_object_non_string_key.json |   1 +
 ...on_string_key_but_huge_number_instead.json |   1 +
 ...n_object_pi_in_key_and_trailing_comma.json |   1 +
 .../n_object_repeated_null_null.json          |   1 +
 .../n_object_several_trailing_commas.json     |   1 +
 .../test_parsing/n_object_single_quote.json   |   1 +
 .../test_parsing/n_object_trailing_comma.json |   1 +
 .../n_object_trailing_comment.json            |   1 +
 .../n_object_trailing_comment_open.json       |   1 +
 .../n_object_trailing_comment_slash_open.json |   1 +
 ...railing_comment_slash_open_incomplete.json |   1 +
 .../n_object_two_commas_in_a_row.json         |   1 +
 .../test_parsing/n_object_unquoted_key.json   |   1 +
 .../n_object_unterminated-value.json          |   1 +
 .../n_object_with_single_string.json          |   1 +
 .../n_object_with_trailing_garbage.json       |   1 +
 .../test_parsing/n_single_space.json          |   1 +
 .../n_string_1_surrogate_then_escape u.json   |   1 +
 .../n_string_1_surrogate_then_escape u1.json  |   1 +
 .../n_string_1_surrogate_then_escape u1x.json |   1 +
 .../n_string_1_surrogate_then_escape.json     |   1 +
 .../n_string_UTF-16_incomplete_surrogate.json |   1 +
 .../n_string_UTF8_surrogate_U+D800.json       |   1 +
 .../n_string_accentuated_char_no_quotes.json  |   1 +
 .../test_parsing/n_string_backslash_00.json   | Bin 0 -> 6 bytes
 .../test_parsing/n_string_escape_x.json       |   1 +
 .../n_string_escaped_backslash_bad.json       |   1 +
 .../n_string_escaped_ctrl_char_tab.json       |   1 +
 .../test_parsing/n_string_escaped_emoji.json  |   1 +
 .../n_string_incomplete_escape.json           |   1 +
 ...n_string_incomplete_escaped_character.json |   1 +
 ...g_incomplete_surrogate_escape_invalid.json |   1 +
 .../n_string_invalid-utf-8-in-escape.json     |   1 +
 .../n_string_invalid_backslash_esc.json       |   1 +
 .../n_string_invalid_unicode_escape.json      |   1 +
 .../test_parsing/n_string_invalid_utf-8.json  |   1 +
 .../n_string_invalid_utf8_after_escape.json   |   1 +
 .../test_parsing/n_string_iso_latin_1.json    |   1 +
 .../n_string_leading_uescaped_thinspace.json  |   1 +
 .../n_string_lone_utf8_continuation_byte.json |   1 +
 .../n_string_no_quotes_with_bad_escape.json   |   1 +
 .../n_string_overlong_sequence_2_bytes.json   |   1 +
 .../n_string_overlong_sequence_6_bytes.json   |   1 +
 ...string_overlong_sequence_6_bytes_null.json |   1 +
 .../n_string_single_doublequote.json          |   1 +
 .../test_parsing/n_string_single_quote.json   |   1 +
 ...string_single_string_no_double_quotes.json |   1 +
 .../n_string_start_escape_unclosed.json       |   1 +
 .../n_string_unescaped_crtl_char.json         | Bin 0 -> 7 bytes
 .../n_string_unescaped_newline.json           |   2 ++
 .../test_parsing/n_string_unescaped_tab.json  |   1 +
 .../n_string_unicode_CapitalU.json            |   1 +
 .../n_string_with_trailing_garbage.json       |   1 +
 .../n_structure_100000_opening_arrays.json    |   1 +
 .../test_parsing/n_structure_<.>.json         |   1 +
 .../test_parsing/n_structure_<null>.json      |   1 +
 .../n_structure_U+2060_word_joined.json       |   1 +
 .../n_structure_UTF8_BOM_no_data.json         |   1 +
 .../n_structure_array_trailing_garbage.json   |   1 +
 ...tructure_array_with_extra_array_close.json |   1 +
 ..._structure_array_with_unclosed_string.json |   1 +
 .../n_structure_ascii-unicode-identifier.json |   1 +
 .../n_structure_capitalized_True.json         |   1 +
 .../n_structure_close_unopened_array.json     |   1 +
 ...ucture_comma_instead_of_closing_brace.json |   1 +
 .../n_structure_double_array.json             |   1 +
 .../test_parsing/n_structure_end_array.json   |   1 +
 .../n_structure_incomplete_UTF8_BOM.json      |   1 +
 .../n_structure_lone-invalid-utf-8.json       |   1 +
 .../n_structure_lone-open-bracket.json        |   1 +
 .../test_parsing/n_structure_no_data.json     |   0
 .../n_structure_null-byte-outside-string.json | Bin 0 -> 3 bytes
 ...tructure_number_with_trailing_garbage.json |   1 +
 ...ure_object_followed_by_closing_object.json |   1 +
 .../n_structure_object_unclosed_no_value.json |   1 +
 .../n_structure_object_with_comment.json      |   1 +
 ...tructure_object_with_trailing_garbage.json |   1 +
 .../n_structure_open_array_apostrophe.json    |   1 +
 .../n_structure_open_array_comma.json         |   1 +
 .../n_structure_open_array_object.json        |   1 +
 .../n_structure_open_array_open_object.json   |   1 +
 .../n_structure_open_array_open_string.json   |   1 +
 .../n_structure_open_array_string.json        |   1 +
 .../test_parsing/n_structure_open_object.json |   1 +
 .../n_structure_open_object_close_array.json  |   1 +
 .../n_structure_open_object_comma.json        |   1 +
 .../n_structure_open_object_open_array.json   |   1 +
 .../n_structure_open_object_open_string.json  |   1 +
 ...e_open_object_string_with_apostrophes.json |   1 +
 .../test_parsing/n_structure_open_open.json   |   1 +
 .../n_structure_single_point.json             |   1 +
 .../test_parsing/n_structure_single_star.json |   1 +
 .../test_parsing/n_structure_trailing_#.json  |   1 +
 ...n_structure_uescaped_LF_before_string.json |   1 +
 .../n_structure_unclosed_array.json           |   1 +
 ...structure_unclosed_array_partial_null.json |   1 +
 ...cture_unclosed_array_unfinished_false.json |   1 +
 ...ucture_unclosed_array_unfinished_true.json |   1 +
 .../n_structure_unclosed_object.json          |   1 +
 .../n_structure_unicode-identifier.json       |   1 +
 ...ructure_whitespace_U+2060_word_joiner.json |   1 +
 .../n_structure_whitespace_formfeed.json      |   1 +
 .../y_array_arraysWithSpaces.json             |   1 +
 .../test_parsing/y_array_empty-string.json    |   1 +
 .../test_parsing/y_array_empty.json           |   1 +
 .../y_array_ending_with_newline.json          |   1 +
 .../test_parsing/y_array_false.json           |   1 +
 .../test_parsing/y_array_heterogeneous.json   |   1 +
 .../test_parsing/y_array_null.json            |   1 +
 .../y_array_with_1_and_newline.json           |   2 ++
 .../y_array_with_leading_space.json           |   1 +
 .../y_array_with_several_null.json            |   1 +
 .../y_array_with_trailing_space.json          |   1 +
 .../test_parsing/y_number.json                |   1 +
 .../test_parsing/y_number_0e+1.json           |   1 +
 .../test_parsing/y_number_0e1.json            |   1 +
 .../test_parsing/y_number_after_space.json    |   1 +
 .../y_number_double_close_to_zero.json        |   1 +
 .../y_number_double_huge_neg_exp.json         |   1 +
 .../test_parsing/y_number_huge_exp.json       |   1 +
 .../test_parsing/y_number_int_with_exp.json   |   1 +
 .../test_parsing/y_number_minus_zero.json     |   1 +
 .../test_parsing/y_number_negative_int.json   |   1 +
 .../test_parsing/y_number_negative_one.json   |   1 +
 .../test_parsing/y_number_negative_zero.json  |   1 +
 .../test_parsing/y_number_real_capital_e.json |   1 +
 .../y_number_real_capital_e_neg_exp.json      |   1 +
 .../y_number_real_capital_e_pos_exp.json      |   1 +
 .../test_parsing/y_number_real_exponent.json  |   1 +
 .../y_number_real_fraction_exponent.json      |   1 +
 .../test_parsing/y_number_real_neg_exp.json   |   1 +
 .../y_number_real_neg_overflow.json           |   1 +
 .../y_number_real_pos_exponent.json           |   1 +
 .../y_number_real_pos_overflow.json           |   1 +
 .../test_parsing/y_number_real_underflow.json |   1 +
 .../test_parsing/y_number_simple_int.json     |   1 +
 .../test_parsing/y_number_simple_real.json    |   1 +
 .../y_number_too_big_neg_int.json             |   1 +
 .../y_number_too_big_pos_int.json             |   1 +
 .../y_number_very_big_negative_int.json       |   1 +
 .../test_parsing/y_object.json                |   1 +
 .../test_parsing/y_object_basic.json          |   1 +
 .../test_parsing/y_object_duplicated_key.json |   1 +
 .../y_object_duplicated_key_and_value.json    |   1 +
 .../test_parsing/y_object_empty.json          |   1 +
 .../test_parsing/y_object_empty_key.json      |   1 +
 .../y_object_escaped_null_in_key.json         |   1 +
 .../y_object_extreme_numbers.json             |   1 +
 .../test_parsing/y_object_long_strings.json   |   1 +
 .../test_parsing/y_object_simple.json         |   1 +
 .../test_parsing/y_object_string_unicode.json |   1 +
 .../test_parsing/y_object_with_newlines.json  |   3 +++
 .../y_string_1_2_3_bytes_UTF-8_sequences.json |   1 +
 ...rogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json |   1 +
 .../y_string_accepted_surrogate_pair.json     |   1 +
 .../y_string_accepted_surrogate_pairs.json    |   1 +
 .../y_string_allowed_escapes.json             |   1 +
 ...y_string_backslash_and_u_escaped_zero.json |   1 +
 .../y_string_backslash_doublequotes.json      |   1 +
 .../test_parsing/y_string_comments.json       |   1 +
 .../y_string_double_escape_a.json             |   1 +
 .../y_string_double_escape_n.json             |   1 +
 .../y_string_escaped_control_character.json   |   1 +
 .../y_string_escaped_noncharacter.json        |   1 +
 .../test_parsing/y_string_in_array.json       |   1 +
 .../y_string_in_array_with_leading_space.json |   1 +
 .../y_string_last_surrogates_1_and_2.json     |   1 +
 .../y_string_newline_uescaped.json            |   1 +
 ...y_string_nonCharacterInUTF-8_U+10FFFF.json |   1 +
 .../y_string_nonCharacterInUTF-8_U+1FFFF.json |   1 +
 .../y_string_nonCharacterInUTF-8_U+FFFF.json  |   1 +
 .../test_parsing/y_string_null_escape.json    |   1 +
 .../test_parsing/y_string_one-byte-utf-8.json |   1 +
 .../test_parsing/y_string_pi.json             |   1 +
 .../test_parsing/y_string_simple_ascii.json   |   1 +
 .../test_parsing/y_string_space.json          |   1 +
 .../y_string_three-byte-utf-8.json            |   1 +
 .../test_parsing/y_string_two-byte-utf-8.json |   1 +
 .../y_string_u+2028_line_sep.json             |   1 +
 .../test_parsing/y_string_u+2029_par_sep.json |   1 +
 .../test_parsing/y_string_uEscape.json        |   1 +
 .../y_string_unescaped_char_delete.json       |   1 +
 .../test_parsing/y_string_unicode.json        |   1 +
 .../y_string_unicodeEscapedBackslash.json     |   1 +
 .../test_parsing/y_string_unicode_2.json      |   1 +
 ...tring_unicode_U+200B_ZERO_WIDTH_SPACE.json |   1 +
 ..._string_unicode_U+2064_invisible_plus.json |   1 +
 ...y_string_unicode_escaped_double_quote.json |   1 +
 .../test_parsing/y_string_utf16.json          | Bin 0 -> 12 bytes
 .../test_parsing/y_string_utf8.json           |   1 +
 .../y_string_with_del_character.json          |   1 +
 .../y_structure_lonely_false.json             |   1 +
 .../test_parsing/y_structure_lonely_int.json  |   1 +
 .../y_structure_lonely_negative_real.json     |   1 +
 .../test_parsing/y_structure_lonely_null.json |   1 +
 .../y_structure_lonely_string.json            |   1 +
 .../test_parsing/y_structure_lonely_true.json |   1 +
 .../y_structure_string_empty.json             |   1 +
 .../y_structure_trailing_newline.json         |   1 +
 .../y_structure_true_in_array.json            |   1 +
 .../y_structure_whitespace_array.json         |   1 +
 316 files changed, 338 insertions(+)
 create mode 100644 test/data/nst_json_testsuite/LICENSE
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_number_neg_int_huge_exp.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_number_pos_double_huge_exp.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_object_key_lone_2nd_surrogate.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_1st_surrogate_but_2nd_missing.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_surrogate.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_string_UTF-8_invalid_sequence.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_pair.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogates_escape_valid.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_string_inverted_surrogates_U+1D11E.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_lone_second_surrogate.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_not_in_unicode_range.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_truncated-utf-8.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+10FFFE_nonchar.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+1FFFE_nonchar.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FDD0_nonchar.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FFFE_nonchar.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/i_structure_500_nested_arrays.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/i_structure_UTF-8_BOM_empty_object.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_1_true_without_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_a_invalid_utf8.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_colon_instead_of_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_comma_after_close.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_comma_and_number.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_double_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_double_extra_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_extra_close.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_extra_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_incomplete.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_incomplete_invalid_value.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_inner_array_no_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_invalid_utf8.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_items_separated_by_semicolon.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_just_comma.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_just_minus.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_missing_value.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_newlines_unclosed.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_number_and_comma.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_number_and_several_commas.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_spaces_vertical_tab_formfeed.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_array_star_inside.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_unclosed.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_unclosed_trailing_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_new_lines.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_object_inside.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_incomplete_false.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_incomplete_null.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_incomplete_true.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_++.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_+1.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_+Inf.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_-01.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_-1.0..json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_-2..json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_-NaN.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_.-1.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_.2e-3.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_0.1.2.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_0.3e+.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_0.3e.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_0.e1.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E+.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_0e+.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_0e.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_1.0e+.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_1.0e-.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_1.0e.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_1_000.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_1eE2.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_2.e+3.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_2.e-3.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_2.e3.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_9.e+.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_Inf.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_NaN.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_U+FF11_fullwidth_digit_one.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_expression.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_hex_1_digit.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_hex_2_digits.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_infinity.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_invalid+-.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_invalid-negative-real.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-bigger-int.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-exponent.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-int.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_minus_infinity.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_minus_sign_with_trailing_garbage.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_minus_space_1.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_neg_int_starting_with_zero.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_neg_real_without_int_part.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_neg_with_garbage_at_end.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_real_garbage_after_e.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_real_with_invalid_utf8_after_e.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_real_without_fractional_part.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_starting_with_dot.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_then_00.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_with_alpha.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_number_with_alpha_char.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_number_with_leading_zero.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_bad_value.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_bracket_key.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_comma_instead_of_colon.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_double_colon.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_emoji.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_garbage_at_end.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_key_with_single_quotes.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_missing_colon.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_missing_key.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_missing_semicolon.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_missing_value.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_no-colon.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_non_string_key.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_non_string_key_but_huge_number_instead.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_pi_in_key_and_trailing_comma.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_repeated_null_null.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_several_trailing_commas.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_single_quote.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_trailing_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_open.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open_incomplete.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_object_two_commas_in_a_row.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_unquoted_key.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_unterminated-value.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_with_single_string.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_object_with_trailing_garbage.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_single_space.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1x.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_UTF-16_incomplete_surrogate.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_accentuated_char_no_quotes.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_backslash_00.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_escape_x.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_escaped_backslash_bad.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_escaped_ctrl_char_tab.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_escaped_emoji.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escape.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escaped_character.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_incomplete_surrogate_escape_invalid.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_invalid-utf-8-in-escape.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_invalid_backslash_esc.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_invalid_unicode_escape.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf8_after_escape.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_leading_uescaped_thinspace.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_no_quotes_with_bad_escape.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_single_doublequote.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_single_quote.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_single_string_no_double_quotes.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_start_escape_unclosed.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_string_unescaped_crtl_char.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_unescaped_newline.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_unescaped_tab.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_unicode_CapitalU.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_string_with_trailing_garbage.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_100000_opening_arrays.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_U+2060_word_joined.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_UTF8_BOM_no_data.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_array_trailing_garbage.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_array_with_extra_array_close.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_array_with_unclosed_string.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_ascii-unicode-identifier.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_capitalized_True.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_close_unopened_array.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_comma_instead_of_closing_brace.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_double_array.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_end_array.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_incomplete_UTF8_BOM.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_lone-invalid-utf-8.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_lone-open-bracket.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_no_data.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_null-byte-outside-string.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_number_with_trailing_garbage.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_object_followed_by_closing_object.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_object_unclosed_no_value.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_object_with_comment.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_object_with_trailing_garbage.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_array_apostrophe.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_array_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_array_object.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_object.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_string.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_array_string.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_object.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_open_object_close_array.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_object_comma.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_array.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_string.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_object_string_with_apostrophes.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_open_open.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_single_point.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_single_star.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_trailing_#.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_uescaped_LF_before_string.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_partial_null.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_false.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_true.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_object.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/n_structure_unicode-identifier.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_U+2060_word_joiner.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_formfeed.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_array_arraysWithSpaces.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_array_empty-string.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_array_empty.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_array_ending_with_newline.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_array_false.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_array_heterogeneous.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_array_null.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_array_with_1_and_newline.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_array_with_leading_space.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_array_with_several_null.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_array_with_trailing_space.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_number_0e+1.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_number_0e1.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_after_space.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_number_double_close_to_zero.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_double_huge_neg_exp.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_huge_exp.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_number_int_with_exp.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_number_minus_zero.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_negative_int.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_negative_one.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_negative_zero.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_neg_exp.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_pos_exp.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_exponent.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_fraction_exponent.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_neg_exp.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_neg_overflow.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_pos_exponent.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_pos_overflow.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_real_underflow.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_simple_int.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_simple_real.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_too_big_neg_int.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_number_too_big_pos_int.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_number_very_big_negative_int.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_object.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_object_basic.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key_and_value.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_object_empty.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_object_empty_key.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_object_escaped_null_in_key.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_object_extreme_numbers.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_object_long_strings.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_object_simple.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_object_string_unicode.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_object_with_newlines.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pair.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pairs.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_allowed_escapes.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_backslash_and_u_escaped_zero.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_backslash_doublequotes.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_comments.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_double_escape_a.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_double_escape_n.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_escaped_control_character.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_escaped_noncharacter.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_in_array.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_in_array_with_leading_space.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_last_surrogates_1_and_2.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_newline_uescaped.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_null_escape.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_one-byte-utf-8.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_pi.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_simple_ascii.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_space.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_three-byte-utf-8.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_two-byte-utf-8.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_u+2028_line_sep.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_u+2029_par_sep.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_uEscape.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_unescaped_char_delete.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_unicode.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_unicodeEscapedBackslash.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_unicode_2.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+2064_invisible_plus.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_unicode_escaped_double_quote.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_utf16.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_string_utf8.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_string_with_del_character.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_structure_lonely_false.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_structure_lonely_int.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_structure_lonely_negative_real.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_structure_lonely_null.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_structure_lonely_string.json
 create mode 100755 test/data/nst_json_testsuite/test_parsing/y_structure_lonely_true.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_structure_string_empty.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_structure_trailing_newline.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_structure_true_in_array.json
 create mode 100644 test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json

diff --git a/test/data/nst_json_testsuite/LICENSE b/test/data/nst_json_testsuite/LICENSE
new file mode 100644
index 00000000..c4b3621d
--- /dev/null
+++ b/test/data/nst_json_testsuite/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2016 Nicolas Seriot
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/test/data/nst_json_testsuite/test_parsing/i_number_neg_int_huge_exp.json b/test/data/nst_json_testsuite/test_parsing/i_number_neg_int_huge_exp.json
new file mode 100755
index 00000000..3abd58a5
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_number_neg_int_huge_exp.json
@@ -0,0 +1 @@
+[-1e+9999]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_number_pos_double_huge_exp.json b/test/data/nst_json_testsuite/test_parsing/i_number_pos_double_huge_exp.json
new file mode 100755
index 00000000..e10a7eb6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_number_pos_double_huge_exp.json
@@ -0,0 +1 @@
+[1.5e+9999]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_object_key_lone_2nd_surrogate.json b/test/data/nst_json_testsuite/test_parsing/i_object_key_lone_2nd_surrogate.json
new file mode 100644
index 00000000..5be7ebaf
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_object_key_lone_2nd_surrogate.json
@@ -0,0 +1 @@
+{"\uDFAA":0}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_1st_surrogate_but_2nd_missing.json b/test/data/nst_json_testsuite/test_parsing/i_string_1st_surrogate_but_2nd_missing.json
new file mode 100644
index 00000000..3b9e37c6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_1st_surrogate_but_2nd_missing.json
@@ -0,0 +1 @@
+["\uDADA"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json b/test/data/nst_json_testsuite/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json
new file mode 100644
index 00000000..48759283
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json
@@ -0,0 +1 @@
+["\uD888\u1234"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json b/test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json
new file mode 100755
index 00000000..3abbd8d8
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json
@@ -0,0 +1 @@
+["\ud800"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_surrogate.json b/test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_surrogate.json
new file mode 100755
index 00000000..ffddc04f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_surrogate.json
@@ -0,0 +1 @@
+["\ud800abc"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_UTF-8_invalid_sequence.json b/test/data/nst_json_testsuite/test_parsing/i_string_UTF-8_invalid_sequence.json
new file mode 100755
index 00000000..e2a968a1
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_UTF-8_invalid_sequence.json
@@ -0,0 +1 @@
+["日ш�"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json b/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json
new file mode 100755
index 00000000..3cb11d22
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json
@@ -0,0 +1 @@
+["\uD800\n"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_pair.json b/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_pair.json
new file mode 100755
index 00000000..38ec23bb
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_pair.json
@@ -0,0 +1 @@
+["\uDd1ea"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogates_escape_valid.json b/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogates_escape_valid.json
new file mode 100755
index 00000000..c9cd6f6c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogates_escape_valid.json
@@ -0,0 +1 @@
+["\uD800\uD800\n"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_inverted_surrogates_U+1D11E.json b/test/data/nst_json_testsuite/test_parsing/i_string_inverted_surrogates_U+1D11E.json
new file mode 100755
index 00000000..0d5456cc
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_inverted_surrogates_U+1D11E.json
@@ -0,0 +1 @@
+["\uDd1e\uD834"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_lone_second_surrogate.json b/test/data/nst_json_testsuite/test_parsing/i_string_lone_second_surrogate.json
new file mode 100644
index 00000000..1dbd397f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_lone_second_surrogate.json
@@ -0,0 +1 @@
+["\uDFAA"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_not_in_unicode_range.json b/test/data/nst_json_testsuite/test_parsing/i_string_not_in_unicode_range.json
new file mode 100644
index 00000000..df90a291
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_not_in_unicode_range.json
@@ -0,0 +1 @@
+["����"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_truncated-utf-8.json b/test/data/nst_json_testsuite/test_parsing/i_string_truncated-utf-8.json
new file mode 100644
index 00000000..63c7777f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_truncated-utf-8.json
@@ -0,0 +1 @@
+["��"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+10FFFE_nonchar.json b/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+10FFFE_nonchar.json
new file mode 100644
index 00000000..9a8370b9
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+10FFFE_nonchar.json
@@ -0,0 +1 @@
+["\uDBFF\uDFFE"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+1FFFE_nonchar.json b/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+1FFFE_nonchar.json
new file mode 100644
index 00000000..c51f8ae4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+1FFFE_nonchar.json
@@ -0,0 +1 @@
+["\uD83F\uDFFE"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FDD0_nonchar.json b/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FDD0_nonchar.json
new file mode 100644
index 00000000..18ef151b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FDD0_nonchar.json
@@ -0,0 +1 @@
+["\uFDD0"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FFFE_nonchar.json b/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FFFE_nonchar.json
new file mode 100644
index 00000000..13d261fd
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FFFE_nonchar.json
@@ -0,0 +1 @@
+["\uFFFE"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_structure_500_nested_arrays.json b/test/data/nst_json_testsuite/test_parsing/i_structure_500_nested_arrays.json
new file mode 100644
index 00000000..71184058
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_structure_500_nested_arrays.json
@@ -0,0 +1 @@
+[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/i_structure_UTF-8_BOM_empty_object.json b/test/data/nst_json_testsuite/test_parsing/i_structure_UTF-8_BOM_empty_object.json
new file mode 100755
index 00000000..22fdca1b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/i_structure_UTF-8_BOM_empty_object.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_1_true_without_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_1_true_without_comma.json
new file mode 100644
index 00000000..c14e3f6b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_1_true_without_comma.json
@@ -0,0 +1 @@
+[1 true]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_a_invalid_utf8.json b/test/data/nst_json_testsuite/test_parsing/n_array_a_invalid_utf8.json
new file mode 100644
index 00000000..38a86e2e
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_a_invalid_utf8.json
@@ -0,0 +1 @@
+[a�]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_colon_instead_of_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_colon_instead_of_comma.json
new file mode 100644
index 00000000..0d02ad44
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_colon_instead_of_comma.json
@@ -0,0 +1 @@
+["": 1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_comma_after_close.json b/test/data/nst_json_testsuite/test_parsing/n_array_comma_after_close.json
new file mode 100644
index 00000000..2ccba8d9
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_comma_after_close.json
@@ -0,0 +1 @@
+[""],
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_comma_and_number.json b/test/data/nst_json_testsuite/test_parsing/n_array_comma_and_number.json
new file mode 100755
index 00000000..d2c84e37
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_comma_and_number.json
@@ -0,0 +1 @@
+[,1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_double_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_double_comma.json
new file mode 100755
index 00000000..0431712b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_double_comma.json
@@ -0,0 +1 @@
+[1,,2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_double_extra_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_double_extra_comma.json
new file mode 100644
index 00000000..3f01d312
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_double_extra_comma.json
@@ -0,0 +1 @@
+["x",,]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_extra_close.json b/test/data/nst_json_testsuite/test_parsing/n_array_extra_close.json
new file mode 100644
index 00000000..c12f9fae
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_extra_close.json
@@ -0,0 +1 @@
+["x"]]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_extra_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_extra_comma.json
new file mode 100644
index 00000000..5f8ce18e
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_extra_comma.json
@@ -0,0 +1 @@
+["",]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_incomplete.json b/test/data/nst_json_testsuite/test_parsing/n_array_incomplete.json
new file mode 100644
index 00000000..cc65b0b5
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_incomplete.json
@@ -0,0 +1 @@
+["x"
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_incomplete_invalid_value.json b/test/data/nst_json_testsuite/test_parsing/n_array_incomplete_invalid_value.json
new file mode 100644
index 00000000..c21a8f6c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_incomplete_invalid_value.json
@@ -0,0 +1 @@
+[x
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_inner_array_no_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_inner_array_no_comma.json
new file mode 100644
index 00000000..c70b7164
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_inner_array_no_comma.json
@@ -0,0 +1 @@
+[3[4]]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_invalid_utf8.json b/test/data/nst_json_testsuite/test_parsing/n_array_invalid_utf8.json
new file mode 100644
index 00000000..6099d344
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_invalid_utf8.json
@@ -0,0 +1 @@
+[�]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_items_separated_by_semicolon.json b/test/data/nst_json_testsuite/test_parsing/n_array_items_separated_by_semicolon.json
new file mode 100755
index 00000000..d4bd7314
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_items_separated_by_semicolon.json
@@ -0,0 +1 @@
+[1:2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_just_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_just_comma.json
new file mode 100755
index 00000000..9d7077c6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_just_comma.json
@@ -0,0 +1 @@
+[,]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_just_minus.json b/test/data/nst_json_testsuite/test_parsing/n_array_just_minus.json
new file mode 100755
index 00000000..29501c6c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_just_minus.json
@@ -0,0 +1 @@
+[-]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_missing_value.json b/test/data/nst_json_testsuite/test_parsing/n_array_missing_value.json
new file mode 100644
index 00000000..3a6ba86f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_missing_value.json
@@ -0,0 +1 @@
+[   , ""]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_newlines_unclosed.json b/test/data/nst_json_testsuite/test_parsing/n_array_newlines_unclosed.json
new file mode 100644
index 00000000..64668006
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_newlines_unclosed.json
@@ -0,0 +1,3 @@
+["a",
+4
+,1,
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_number_and_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_number_and_comma.json
new file mode 100755
index 00000000..13f6f1d1
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_number_and_comma.json
@@ -0,0 +1 @@
+[1,]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_number_and_several_commas.json b/test/data/nst_json_testsuite/test_parsing/n_array_number_and_several_commas.json
new file mode 100755
index 00000000..0ac408cb
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_number_and_several_commas.json
@@ -0,0 +1 @@
+[1,,]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_spaces_vertical_tab_formfeed.json b/test/data/nst_json_testsuite/test_parsing/n_array_spaces_vertical_tab_formfeed.json
new file mode 100755
index 00000000..6cd7cf58
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_spaces_vertical_tab_formfeed.json
@@ -0,0 +1 @@
+["a"\f]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_star_inside.json b/test/data/nst_json_testsuite/test_parsing/n_array_star_inside.json
new file mode 100755
index 00000000..5a519464
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_star_inside.json
@@ -0,0 +1 @@
+[*]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_unclosed.json b/test/data/nst_json_testsuite/test_parsing/n_array_unclosed.json
new file mode 100644
index 00000000..06073305
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_unclosed.json
@@ -0,0 +1 @@
+[""
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_trailing_comma.json b/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_trailing_comma.json
new file mode 100644
index 00000000..6604698f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_trailing_comma.json
@@ -0,0 +1 @@
+[1,
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_new_lines.json b/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_new_lines.json
new file mode 100644
index 00000000..4f61de3f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_new_lines.json
@@ -0,0 +1,3 @@
+[1,
+1
+,1
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_object_inside.json b/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_object_inside.json
new file mode 100644
index 00000000..043a87e2
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_object_inside.json
@@ -0,0 +1 @@
+[{}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_incomplete_false.json b/test/data/nst_json_testsuite/test_parsing/n_incomplete_false.json
new file mode 100644
index 00000000..eb18c6a1
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_incomplete_false.json
@@ -0,0 +1 @@
+[fals]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_incomplete_null.json b/test/data/nst_json_testsuite/test_parsing/n_incomplete_null.json
new file mode 100644
index 00000000..c18ef538
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_incomplete_null.json
@@ -0,0 +1 @@
+[nul]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_incomplete_true.json b/test/data/nst_json_testsuite/test_parsing/n_incomplete_true.json
new file mode 100644
index 00000000..f451ac6d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_incomplete_true.json
@@ -0,0 +1 @@
+[tru]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_++.json b/test/data/nst_json_testsuite/test_parsing/n_number_++.json
new file mode 100644
index 00000000..bdb62aaf
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_++.json
@@ -0,0 +1 @@
+[++1234]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_+1.json b/test/data/nst_json_testsuite/test_parsing/n_number_+1.json
new file mode 100755
index 00000000..3cbe58c9
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_+1.json
@@ -0,0 +1 @@
+[+1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_+Inf.json b/test/data/nst_json_testsuite/test_parsing/n_number_+Inf.json
new file mode 100755
index 00000000..871ae14d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_+Inf.json
@@ -0,0 +1 @@
+[+Inf]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_-01.json b/test/data/nst_json_testsuite/test_parsing/n_number_-01.json
new file mode 100755
index 00000000..0df32bac
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_-01.json
@@ -0,0 +1 @@
+[-01]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_-1.0..json b/test/data/nst_json_testsuite/test_parsing/n_number_-1.0..json
new file mode 100755
index 00000000..7cf55a85
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_-1.0..json
@@ -0,0 +1 @@
+[-1.0.]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_-2..json b/test/data/nst_json_testsuite/test_parsing/n_number_-2..json
new file mode 100755
index 00000000..9be84365
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_-2..json
@@ -0,0 +1 @@
+[-2.]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_-NaN.json b/test/data/nst_json_testsuite/test_parsing/n_number_-NaN.json
new file mode 100755
index 00000000..f61615d4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_-NaN.json
@@ -0,0 +1 @@
+[-NaN]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_.-1.json b/test/data/nst_json_testsuite/test_parsing/n_number_.-1.json
new file mode 100644
index 00000000..1c9f2dd1
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_.-1.json
@@ -0,0 +1 @@
+[.-1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_.2e-3.json b/test/data/nst_json_testsuite/test_parsing/n_number_.2e-3.json
new file mode 100755
index 00000000..c6c976f2
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_.2e-3.json
@@ -0,0 +1 @@
+[.2e-3]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_0.1.2.json b/test/data/nst_json_testsuite/test_parsing/n_number_0.1.2.json
new file mode 100755
index 00000000..c83a2562
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_0.1.2.json
@@ -0,0 +1 @@
+[0.1.2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_0.3e+.json b/test/data/nst_json_testsuite/test_parsing/n_number_0.3e+.json
new file mode 100644
index 00000000..a55a1bfe
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_0.3e+.json
@@ -0,0 +1 @@
+[0.3e+]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_0.3e.json b/test/data/nst_json_testsuite/test_parsing/n_number_0.3e.json
new file mode 100644
index 00000000..3dd5df4b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_0.3e.json
@@ -0,0 +1 @@
+[0.3e]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_0.e1.json b/test/data/nst_json_testsuite/test_parsing/n_number_0.e1.json
new file mode 100644
index 00000000..c92c71cc
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_0.e1.json
@@ -0,0 +1 @@
+[0.e1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E+.json b/test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E+.json
new file mode 100644
index 00000000..3ba2c7d6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E+.json
@@ -0,0 +1 @@
+[0E+]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E.json b/test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E.json
new file mode 100755
index 00000000..5301840d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E.json
@@ -0,0 +1 @@
+[0E]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_0e+.json b/test/data/nst_json_testsuite/test_parsing/n_number_0e+.json
new file mode 100644
index 00000000..8ab0bc4b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_0e+.json
@@ -0,0 +1 @@
+[0e+]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_0e.json b/test/data/nst_json_testsuite/test_parsing/n_number_0e.json
new file mode 100644
index 00000000..47ec421b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_0e.json
@@ -0,0 +1 @@
+[0e]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_1.0e+.json b/test/data/nst_json_testsuite/test_parsing/n_number_1.0e+.json
new file mode 100755
index 00000000..cd84b9f6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_1.0e+.json
@@ -0,0 +1 @@
+[1.0e+]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_1.0e-.json b/test/data/nst_json_testsuite/test_parsing/n_number_1.0e-.json
new file mode 100755
index 00000000..4eb7afa0
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_1.0e-.json
@@ -0,0 +1 @@
+[1.0e-]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_1.0e.json b/test/data/nst_json_testsuite/test_parsing/n_number_1.0e.json
new file mode 100755
index 00000000..21753f4c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_1.0e.json
@@ -0,0 +1 @@
+[1.0e]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_1_000.json b/test/data/nst_json_testsuite/test_parsing/n_number_1_000.json
new file mode 100755
index 00000000..7b18b66b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_1_000.json
@@ -0,0 +1 @@
+[1 000.0]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_1eE2.json b/test/data/nst_json_testsuite/test_parsing/n_number_1eE2.json
new file mode 100755
index 00000000..4318a341
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_1eE2.json
@@ -0,0 +1 @@
+[1eE2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_2.e+3.json b/test/data/nst_json_testsuite/test_parsing/n_number_2.e+3.json
new file mode 100755
index 00000000..4442f394
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_2.e+3.json
@@ -0,0 +1 @@
+[2.e+3]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_2.e-3.json b/test/data/nst_json_testsuite/test_parsing/n_number_2.e-3.json
new file mode 100755
index 00000000..a65060ed
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_2.e-3.json
@@ -0,0 +1 @@
+[2.e-3]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_2.e3.json b/test/data/nst_json_testsuite/test_parsing/n_number_2.e3.json
new file mode 100755
index 00000000..66f7cf70
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_2.e3.json
@@ -0,0 +1 @@
+[2.e3]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_9.e+.json b/test/data/nst_json_testsuite/test_parsing/n_number_9.e+.json
new file mode 100644
index 00000000..732a7b11
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_9.e+.json
@@ -0,0 +1 @@
+[9.e+]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_Inf.json b/test/data/nst_json_testsuite/test_parsing/n_number_Inf.json
new file mode 100755
index 00000000..c40c734c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_Inf.json
@@ -0,0 +1 @@
+[Inf]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_NaN.json b/test/data/nst_json_testsuite/test_parsing/n_number_NaN.json
new file mode 100755
index 00000000..49923179
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_NaN.json
@@ -0,0 +1 @@
+[NaN]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_U+FF11_fullwidth_digit_one.json b/test/data/nst_json_testsuite/test_parsing/n_number_U+FF11_fullwidth_digit_one.json
new file mode 100644
index 00000000..b14587e5
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_U+FF11_fullwidth_digit_one.json
@@ -0,0 +1 @@
+[1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_expression.json b/test/data/nst_json_testsuite/test_parsing/n_number_expression.json
new file mode 100644
index 00000000..76fdbc8a
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_expression.json
@@ -0,0 +1 @@
+[1+2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_hex_1_digit.json b/test/data/nst_json_testsuite/test_parsing/n_number_hex_1_digit.json
new file mode 100644
index 00000000..3b214880
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_hex_1_digit.json
@@ -0,0 +1 @@
+[0x1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_hex_2_digits.json b/test/data/nst_json_testsuite/test_parsing/n_number_hex_2_digits.json
new file mode 100644
index 00000000..83e516ab
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_hex_2_digits.json
@@ -0,0 +1 @@
+[0x42]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_infinity.json b/test/data/nst_json_testsuite/test_parsing/n_number_infinity.json
new file mode 100755
index 00000000..8c2baf78
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_infinity.json
@@ -0,0 +1 @@
+[Infinity]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_invalid+-.json b/test/data/nst_json_testsuite/test_parsing/n_number_invalid+-.json
new file mode 100644
index 00000000..1cce602b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_invalid+-.json
@@ -0,0 +1 @@
+[0e+-1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_invalid-negative-real.json b/test/data/nst_json_testsuite/test_parsing/n_number_invalid-negative-real.json
new file mode 100644
index 00000000..5fc3c1ef
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_invalid-negative-real.json
@@ -0,0 +1 @@
+[-123.123foo]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-bigger-int.json b/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-bigger-int.json
new file mode 100644
index 00000000..3b97e580
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-bigger-int.json
@@ -0,0 +1 @@
+[123�]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-exponent.json b/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-exponent.json
new file mode 100644
index 00000000..ea35d723
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-exponent.json
@@ -0,0 +1 @@
+[1e1�]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-int.json b/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-int.json
new file mode 100644
index 00000000..371226e4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-int.json
@@ -0,0 +1 @@
+[0�]
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_minus_infinity.json b/test/data/nst_json_testsuite/test_parsing/n_number_minus_infinity.json
new file mode 100755
index 00000000..cf4133d2
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_minus_infinity.json
@@ -0,0 +1 @@
+[-Infinity]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_minus_sign_with_trailing_garbage.json b/test/data/nst_json_testsuite/test_parsing/n_number_minus_sign_with_trailing_garbage.json
new file mode 100644
index 00000000..a6d8e78e
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_minus_sign_with_trailing_garbage.json
@@ -0,0 +1 @@
+[-foo]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_minus_space_1.json b/test/data/nst_json_testsuite/test_parsing/n_number_minus_space_1.json
new file mode 100644
index 00000000..9a5ebedf
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_minus_space_1.json
@@ -0,0 +1 @@
+[- 1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_neg_int_starting_with_zero.json b/test/data/nst_json_testsuite/test_parsing/n_number_neg_int_starting_with_zero.json
new file mode 100644
index 00000000..67af0960
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_neg_int_starting_with_zero.json
@@ -0,0 +1 @@
+[-012]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_neg_real_without_int_part.json b/test/data/nst_json_testsuite/test_parsing/n_number_neg_real_without_int_part.json
new file mode 100755
index 00000000..1f2a4349
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_neg_real_without_int_part.json
@@ -0,0 +1 @@
+[-.123]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_neg_with_garbage_at_end.json b/test/data/nst_json_testsuite/test_parsing/n_number_neg_with_garbage_at_end.json
new file mode 100644
index 00000000..2aa73119
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_neg_with_garbage_at_end.json
@@ -0,0 +1 @@
+[-1x]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_real_garbage_after_e.json b/test/data/nst_json_testsuite/test_parsing/n_number_real_garbage_after_e.json
new file mode 100644
index 00000000..9213dfca
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_real_garbage_after_e.json
@@ -0,0 +1 @@
+[1ea]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_real_with_invalid_utf8_after_e.json b/test/data/nst_json_testsuite/test_parsing/n_number_real_with_invalid_utf8_after_e.json
new file mode 100644
index 00000000..1e52ef96
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_real_with_invalid_utf8_after_e.json
@@ -0,0 +1 @@
+[1e�]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_real_without_fractional_part.json b/test/data/nst_json_testsuite/test_parsing/n_number_real_without_fractional_part.json
new file mode 100755
index 00000000..1de287cf
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_real_without_fractional_part.json
@@ -0,0 +1 @@
+[1.]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_starting_with_dot.json b/test/data/nst_json_testsuite/test_parsing/n_number_starting_with_dot.json
new file mode 100755
index 00000000..f682dbdc
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_starting_with_dot.json
@@ -0,0 +1 @@
+[.123]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_then_00.json b/test/data/nst_json_testsuite/test_parsing/n_number_then_00.json
new file mode 100644
index 0000000000000000000000000000000000000000..0e7ef541921d888956f987fefacfb70f6117498a
GIT binary patch
literal 2
JcmXqH0001F05Sjo

literal 0
HcmV?d00001

diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_with_alpha.json b/test/data/nst_json_testsuite/test_parsing/n_number_with_alpha.json
new file mode 100644
index 00000000..1e42d818
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_with_alpha.json
@@ -0,0 +1 @@
+[1.2a-3]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_with_alpha_char.json b/test/data/nst_json_testsuite/test_parsing/n_number_with_alpha_char.json
new file mode 100644
index 00000000..b79daccb
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_with_alpha_char.json
@@ -0,0 +1 @@
+[1.8011670033376514H-308]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_number_with_leading_zero.json b/test/data/nst_json_testsuite/test_parsing/n_number_with_leading_zero.json
new file mode 100755
index 00000000..7106da1f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_number_with_leading_zero.json
@@ -0,0 +1 @@
+[012]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_bad_value.json b/test/data/nst_json_testsuite/test_parsing/n_object_bad_value.json
new file mode 100644
index 00000000..a03a8c03
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_bad_value.json
@@ -0,0 +1 @@
+["x", truth]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_bracket_key.json b/test/data/nst_json_testsuite/test_parsing/n_object_bracket_key.json
new file mode 100644
index 00000000..cc443b48
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_bracket_key.json
@@ -0,0 +1 @@
+{[: "x"}
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_comma_instead_of_colon.json b/test/data/nst_json_testsuite/test_parsing/n_object_comma_instead_of_colon.json
new file mode 100644
index 00000000..8d563770
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_comma_instead_of_colon.json
@@ -0,0 +1 @@
+{"x", null}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_double_colon.json b/test/data/nst_json_testsuite/test_parsing/n_object_double_colon.json
new file mode 100644
index 00000000..80e8c7b8
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_double_colon.json
@@ -0,0 +1 @@
+{"x"::"b"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_emoji.json b/test/data/nst_json_testsuite/test_parsing/n_object_emoji.json
new file mode 100644
index 00000000..cb4078ea
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_emoji.json
@@ -0,0 +1 @@
+{🇨🇭}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_garbage_at_end.json b/test/data/nst_json_testsuite/test_parsing/n_object_garbage_at_end.json
new file mode 100644
index 00000000..80c42cba
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_garbage_at_end.json
@@ -0,0 +1 @@
+{"a":"a" 123}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_key_with_single_quotes.json b/test/data/nst_json_testsuite/test_parsing/n_object_key_with_single_quotes.json
new file mode 100755
index 00000000..77c32759
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_key_with_single_quotes.json
@@ -0,0 +1 @@
+{key: 'value'}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_missing_colon.json b/test/data/nst_json_testsuite/test_parsing/n_object_missing_colon.json
new file mode 100644
index 00000000..b98eff62
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_missing_colon.json
@@ -0,0 +1 @@
+{"a" b}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_missing_key.json b/test/data/nst_json_testsuite/test_parsing/n_object_missing_key.json
new file mode 100755
index 00000000..b4fb0f52
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_missing_key.json
@@ -0,0 +1 @@
+{:"b"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_missing_semicolon.json b/test/data/nst_json_testsuite/test_parsing/n_object_missing_semicolon.json
new file mode 100755
index 00000000..e3451384
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_missing_semicolon.json
@@ -0,0 +1 @@
+{"a" "b"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_missing_value.json b/test/data/nst_json_testsuite/test_parsing/n_object_missing_value.json
new file mode 100644
index 00000000..3ef538a6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_missing_value.json
@@ -0,0 +1 @@
+{"a":
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_no-colon.json b/test/data/nst_json_testsuite/test_parsing/n_object_no-colon.json
new file mode 100644
index 00000000..f3797b35
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_no-colon.json
@@ -0,0 +1 @@
+{"a"
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_non_string_key.json b/test/data/nst_json_testsuite/test_parsing/n_object_non_string_key.json
new file mode 100755
index 00000000..b9945b34
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_non_string_key.json
@@ -0,0 +1 @@
+{1:1}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_non_string_key_but_huge_number_instead.json b/test/data/nst_json_testsuite/test_parsing/n_object_non_string_key_but_huge_number_instead.json
new file mode 100755
index 00000000..b37fa86c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_non_string_key_but_huge_number_instead.json
@@ -0,0 +1 @@
+{9999E9999:1}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_pi_in_key_and_trailing_comma.json b/test/data/nst_json_testsuite/test_parsing/n_object_pi_in_key_and_trailing_comma.json
new file mode 100644
index 00000000..aa2cb637
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_pi_in_key_and_trailing_comma.json
@@ -0,0 +1 @@
+{"�":"0",}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_repeated_null_null.json b/test/data/nst_json_testsuite/test_parsing/n_object_repeated_null_null.json
new file mode 100755
index 00000000..f7d2959d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_repeated_null_null.json
@@ -0,0 +1 @@
+{null:null,null:null}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_several_trailing_commas.json b/test/data/nst_json_testsuite/test_parsing/n_object_several_trailing_commas.json
new file mode 100755
index 00000000..3c9afe8d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_several_trailing_commas.json
@@ -0,0 +1 @@
+{"id":0,,,,,}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_single_quote.json b/test/data/nst_json_testsuite/test_parsing/n_object_single_quote.json
new file mode 100644
index 00000000..e5cdf976
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_single_quote.json
@@ -0,0 +1 @@
+{'a':0}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comma.json b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comma.json
new file mode 100755
index 00000000..a4b02509
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comma.json
@@ -0,0 +1 @@
+{"id":0,}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment.json b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment.json
new file mode 100644
index 00000000..a372c655
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment.json
@@ -0,0 +1 @@
+{"a":"b"}/**/
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_open.json b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_open.json
new file mode 100644
index 00000000..d557f41c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_open.json
@@ -0,0 +1 @@
+{"a":"b"}/**//
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open.json b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open.json
new file mode 100644
index 00000000..e335136c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open.json
@@ -0,0 +1 @@
+{"a":"b"}//
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open_incomplete.json b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open_incomplete.json
new file mode 100644
index 00000000..d892e49f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open_incomplete.json
@@ -0,0 +1 @@
+{"a":"b"}/
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_two_commas_in_a_row.json b/test/data/nst_json_testsuite/test_parsing/n_object_two_commas_in_a_row.json
new file mode 100755
index 00000000..7c639ae6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_two_commas_in_a_row.json
@@ -0,0 +1 @@
+{"a":"b",,"c":"d"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_unquoted_key.json b/test/data/nst_json_testsuite/test_parsing/n_object_unquoted_key.json
new file mode 100644
index 00000000..8ba13729
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_unquoted_key.json
@@ -0,0 +1 @@
+{a: "b"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_unterminated-value.json b/test/data/nst_json_testsuite/test_parsing/n_object_unterminated-value.json
new file mode 100644
index 00000000..7fe699a6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_unterminated-value.json
@@ -0,0 +1 @@
+{"a":"a
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_with_single_string.json b/test/data/nst_json_testsuite/test_parsing/n_object_with_single_string.json
new file mode 100644
index 00000000..d63f7fbb
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_with_single_string.json
@@ -0,0 +1 @@
+{ "foo" : "bar", "a" }
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_object_with_trailing_garbage.json b/test/data/nst_json_testsuite/test_parsing/n_object_with_trailing_garbage.json
new file mode 100644
index 00000000..787c8f0a
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_object_with_trailing_garbage.json
@@ -0,0 +1 @@
+{"a":"b"}#
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_single_space.json b/test/data/nst_json_testsuite/test_parsing/n_single_space.json
new file mode 100755
index 00000000..0519ecba
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_single_space.json
@@ -0,0 +1 @@
+ 
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u.json b/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u.json
new file mode 100644
index 00000000..e834b05e
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u.json	
@@ -0,0 +1 @@
+["\uD800\u"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1.json b/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1.json
new file mode 100644
index 00000000..a04cd348
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1.json	
@@ -0,0 +1 @@
+["\uD800\u1"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1x.json b/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1x.json
new file mode 100644
index 00000000..bfbd2340
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1x.json	
@@ -0,0 +1 @@
+["\uD800\u1x"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape.json b/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape.json
new file mode 100644
index 00000000..acec66d8
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape.json
@@ -0,0 +1 @@
+["\uD800\"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_UTF-16_incomplete_surrogate.json b/test/data/nst_json_testsuite/test_parsing/n_string_UTF-16_incomplete_surrogate.json
new file mode 100755
index 00000000..75504a65
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_UTF-16_incomplete_surrogate.json
@@ -0,0 +1 @@
+["\uD834\uDd"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json b/test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json
new file mode 100644
index 00000000..916bff92
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json
@@ -0,0 +1 @@
+["���"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_accentuated_char_no_quotes.json b/test/data/nst_json_testsuite/test_parsing/n_string_accentuated_char_no_quotes.json
new file mode 100644
index 00000000..fd689569
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_accentuated_char_no_quotes.json
@@ -0,0 +1 @@
+[é]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_backslash_00.json b/test/data/nst_json_testsuite/test_parsing/n_string_backslash_00.json
new file mode 100644
index 0000000000000000000000000000000000000000..b5bf267b5d4ee922d20cec1543b66d1530ff76cf
GIT binary patch
literal 6
Ncma!6ieXTS1pox&0a*Y5

literal 0
HcmV?d00001

diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_escape_x.json b/test/data/nst_json_testsuite/test_parsing/n_string_escape_x.json
new file mode 100644
index 00000000..fae29193
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_escape_x.json
@@ -0,0 +1 @@
+["\x00"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_escaped_backslash_bad.json b/test/data/nst_json_testsuite/test_parsing/n_string_escaped_backslash_bad.json
new file mode 100755
index 00000000..016fcb47
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_escaped_backslash_bad.json
@@ -0,0 +1 @@
+["\\\"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_escaped_ctrl_char_tab.json b/test/data/nst_json_testsuite/test_parsing/n_string_escaped_ctrl_char_tab.json
new file mode 100644
index 00000000..f35ea382
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_escaped_ctrl_char_tab.json
@@ -0,0 +1 @@
+["\	"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_escaped_emoji.json b/test/data/nst_json_testsuite/test_parsing/n_string_escaped_emoji.json
new file mode 100644
index 00000000..a2777542
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_escaped_emoji.json
@@ -0,0 +1 @@
+["\🌀"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escape.json b/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escape.json
new file mode 100755
index 00000000..3415c33c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escape.json
@@ -0,0 +1 @@
+["\"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escaped_character.json b/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escaped_character.json
new file mode 100755
index 00000000..0f2197ea
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escaped_character.json
@@ -0,0 +1 @@
+["\u00A"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_surrogate_escape_invalid.json b/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_surrogate_escape_invalid.json
new file mode 100755
index 00000000..bd965606
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_incomplete_surrogate_escape_invalid.json
@@ -0,0 +1 @@
+["\uD800\uD800\x"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_invalid-utf-8-in-escape.json b/test/data/nst_json_testsuite/test_parsing/n_string_invalid-utf-8-in-escape.json
new file mode 100644
index 00000000..0c430064
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_invalid-utf-8-in-escape.json
@@ -0,0 +1 @@
+["\u�"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_invalid_backslash_esc.json b/test/data/nst_json_testsuite/test_parsing/n_string_invalid_backslash_esc.json
new file mode 100755
index 00000000..d1eb6092
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_invalid_backslash_esc.json
@@ -0,0 +1 @@
+["\a"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_invalid_unicode_escape.json b/test/data/nst_json_testsuite/test_parsing/n_string_invalid_unicode_escape.json
new file mode 100644
index 00000000..7608cb6b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_invalid_unicode_escape.json
@@ -0,0 +1 @@
+["\uqqqq"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json b/test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json
new file mode 100644
index 00000000..8e45a7ec
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json
@@ -0,0 +1 @@
+["�"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf8_after_escape.json b/test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf8_after_escape.json
new file mode 100644
index 00000000..2f757a25
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf8_after_escape.json
@@ -0,0 +1 @@
+["\�"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json b/test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json
new file mode 100644
index 00000000..9389c982
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json
@@ -0,0 +1 @@
+["�"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_leading_uescaped_thinspace.json b/test/data/nst_json_testsuite/test_parsing/n_string_leading_uescaped_thinspace.json
new file mode 100755
index 00000000..7b297c63
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_leading_uescaped_thinspace.json
@@ -0,0 +1 @@
+[\u0020"asd"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json b/test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json
new file mode 100644
index 00000000..729337c0
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json
@@ -0,0 +1 @@
+["�"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_no_quotes_with_bad_escape.json b/test/data/nst_json_testsuite/test_parsing/n_string_no_quotes_with_bad_escape.json
new file mode 100644
index 00000000..01bc70ab
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_no_quotes_with_bad_escape.json
@@ -0,0 +1 @@
+[\n]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json b/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json
new file mode 100644
index 00000000..c8cee5e0
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json
@@ -0,0 +1 @@
+["��"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json b/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json
new file mode 100755
index 00000000..9a91da79
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json
@@ -0,0 +1 @@
+["������"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json b/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json
new file mode 100755
index 00000000..d24fffdd
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json
@@ -0,0 +1 @@
+["������"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_single_doublequote.json b/test/data/nst_json_testsuite/test_parsing/n_string_single_doublequote.json
new file mode 100755
index 00000000..9d68933c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_single_doublequote.json
@@ -0,0 +1 @@
+"
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_single_quote.json b/test/data/nst_json_testsuite/test_parsing/n_string_single_quote.json
new file mode 100644
index 00000000..caff239b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_single_quote.json
@@ -0,0 +1 @@
+['single quote']
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_single_string_no_double_quotes.json b/test/data/nst_json_testsuite/test_parsing/n_string_single_string_no_double_quotes.json
new file mode 100755
index 00000000..f2ba8f84
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_single_string_no_double_quotes.json
@@ -0,0 +1 @@
+abc
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_start_escape_unclosed.json b/test/data/nst_json_testsuite/test_parsing/n_string_start_escape_unclosed.json
new file mode 100644
index 00000000..db62a46f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_start_escape_unclosed.json
@@ -0,0 +1 @@
+["\
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_unescaped_crtl_char.json b/test/data/nst_json_testsuite/test_parsing/n_string_unescaped_crtl_char.json
new file mode 100755
index 0000000000000000000000000000000000000000..9f21348071d3d736bdd469f159cea674c09237af
GIT binary patch
literal 7
Ocma!6N@Pe>iUj}$`2oKG

literal 0
HcmV?d00001

diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_unescaped_newline.json b/test/data/nst_json_testsuite/test_parsing/n_string_unescaped_newline.json
new file mode 100644
index 00000000..700d3608
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_unescaped_newline.json
@@ -0,0 +1,2 @@
+["new
+line"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_unescaped_tab.json b/test/data/nst_json_testsuite/test_parsing/n_string_unescaped_tab.json
new file mode 100644
index 00000000..160264a2
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_unescaped_tab.json
@@ -0,0 +1 @@
+["	"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_unicode_CapitalU.json b/test/data/nst_json_testsuite/test_parsing/n_string_unicode_CapitalU.json
new file mode 100644
index 00000000..17332bb1
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_unicode_CapitalU.json
@@ -0,0 +1 @@
+"\UA66D"
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_string_with_trailing_garbage.json b/test/data/nst_json_testsuite/test_parsing/n_string_with_trailing_garbage.json
new file mode 100644
index 00000000..efe3bd27
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_string_with_trailing_garbage.json
@@ -0,0 +1 @@
+""x
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_100000_opening_arrays.json b/test/data/nst_json_testsuite/test_parsing/n_structure_100000_opening_arrays.json
new file mode 100644
index 00000000..a4823eec
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_100000_opening_arrays.json
@@ -0,0 +1 @@
+[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json b/test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json
new file mode 100755
index 00000000..a56fef0b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json
@@ -0,0 +1 @@
+<.>
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json b/test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json
new file mode 100755
index 00000000..617f2625
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json
@@ -0,0 +1 @@
+[<null>]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_U+2060_word_joined.json b/test/data/nst_json_testsuite/test_parsing/n_structure_U+2060_word_joined.json
new file mode 100644
index 00000000..81156a69
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_U+2060_word_joined.json
@@ -0,0 +1 @@
+[⁠]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_UTF8_BOM_no_data.json b/test/data/nst_json_testsuite/test_parsing/n_structure_UTF8_BOM_no_data.json
new file mode 100755
index 00000000..5f282702
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_UTF8_BOM_no_data.json
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_array_trailing_garbage.json b/test/data/nst_json_testsuite/test_parsing/n_structure_array_trailing_garbage.json
new file mode 100644
index 00000000..5a745e6f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_array_trailing_garbage.json
@@ -0,0 +1 @@
+[1]x
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_array_with_extra_array_close.json b/test/data/nst_json_testsuite/test_parsing/n_structure_array_with_extra_array_close.json
new file mode 100755
index 00000000..6cfb1398
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_array_with_extra_array_close.json
@@ -0,0 +1 @@
+[1]]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_array_with_unclosed_string.json b/test/data/nst_json_testsuite/test_parsing/n_structure_array_with_unclosed_string.json
new file mode 100755
index 00000000..ba6b1788
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_array_with_unclosed_string.json
@@ -0,0 +1 @@
+["asd]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_ascii-unicode-identifier.json b/test/data/nst_json_testsuite/test_parsing/n_structure_ascii-unicode-identifier.json
new file mode 100644
index 00000000..ef2ab62f
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_ascii-unicode-identifier.json
@@ -0,0 +1 @@
+aå
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_capitalized_True.json b/test/data/nst_json_testsuite/test_parsing/n_structure_capitalized_True.json
new file mode 100755
index 00000000..7cd88469
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_capitalized_True.json
@@ -0,0 +1 @@
+[True]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_close_unopened_array.json b/test/data/nst_json_testsuite/test_parsing/n_structure_close_unopened_array.json
new file mode 100755
index 00000000..d2af0c64
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_close_unopened_array.json
@@ -0,0 +1 @@
+1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_comma_instead_of_closing_brace.json b/test/data/nst_json_testsuite/test_parsing/n_structure_comma_instead_of_closing_brace.json
new file mode 100644
index 00000000..ac61b820
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_comma_instead_of_closing_brace.json
@@ -0,0 +1 @@
+{"x": true,
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_double_array.json b/test/data/nst_json_testsuite/test_parsing/n_structure_double_array.json
new file mode 100755
index 00000000..058d1626
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_double_array.json
@@ -0,0 +1 @@
+[][]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_end_array.json b/test/data/nst_json_testsuite/test_parsing/n_structure_end_array.json
new file mode 100644
index 00000000..54caf60b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_end_array.json
@@ -0,0 +1 @@
+]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_incomplete_UTF8_BOM.json b/test/data/nst_json_testsuite/test_parsing/n_structure_incomplete_UTF8_BOM.json
new file mode 100755
index 00000000..bfcdd514
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_incomplete_UTF8_BOM.json
@@ -0,0 +1 @@
+�{}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_lone-invalid-utf-8.json b/test/data/nst_json_testsuite/test_parsing/n_structure_lone-invalid-utf-8.json
new file mode 100644
index 00000000..8b1296ca
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_lone-invalid-utf-8.json
@@ -0,0 +1 @@
+�
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_lone-open-bracket.json b/test/data/nst_json_testsuite/test_parsing/n_structure_lone-open-bracket.json
new file mode 100644
index 00000000..8e2f0bef
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_lone-open-bracket.json
@@ -0,0 +1 @@
+[
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_no_data.json b/test/data/nst_json_testsuite/test_parsing/n_structure_no_data.json
new file mode 100644
index 00000000..e69de29b
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_null-byte-outside-string.json b/test/data/nst_json_testsuite/test_parsing/n_structure_null-byte-outside-string.json
new file mode 100644
index 0000000000000000000000000000000000000000..326db14422a756e9bd39221edf37b844cb8471c7
GIT binary patch
literal 3
Kcma!Mhy?%vaR9jh

literal 0
HcmV?d00001

diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_number_with_trailing_garbage.json b/test/data/nst_json_testsuite/test_parsing/n_structure_number_with_trailing_garbage.json
new file mode 100644
index 00000000..0746539d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_number_with_trailing_garbage.json
@@ -0,0 +1 @@
+2@
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_object_followed_by_closing_object.json b/test/data/nst_json_testsuite/test_parsing/n_structure_object_followed_by_closing_object.json
new file mode 100644
index 00000000..aa9ebaec
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_object_followed_by_closing_object.json
@@ -0,0 +1 @@
+{}}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_object_unclosed_no_value.json b/test/data/nst_json_testsuite/test_parsing/n_structure_object_unclosed_no_value.json
new file mode 100644
index 00000000..17d04514
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_object_unclosed_no_value.json
@@ -0,0 +1 @@
+{"":
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_object_with_comment.json b/test/data/nst_json_testsuite/test_parsing/n_structure_object_with_comment.json
new file mode 100644
index 00000000..ed1b569b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_object_with_comment.json
@@ -0,0 +1 @@
+{"a":/*comment*/"b"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_object_with_trailing_garbage.json b/test/data/nst_json_testsuite/test_parsing/n_structure_object_with_trailing_garbage.json
new file mode 100644
index 00000000..9ca2336d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_object_with_trailing_garbage.json
@@ -0,0 +1 @@
+{"a": true} "x"
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_apostrophe.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_apostrophe.json
new file mode 100644
index 00000000..8bebe3af
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_apostrophe.json
@@ -0,0 +1 @@
+['
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_comma.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_comma.json
new file mode 100644
index 00000000..6295fdc3
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_comma.json
@@ -0,0 +1 @@
+[,
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_object.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_object.json
new file mode 100644
index 00000000..e870445b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_object.json
@@ -0,0 +1 @@
+[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_object.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_object.json
new file mode 100644
index 00000000..7a63c8c5
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_object.json
@@ -0,0 +1 @@
+[{
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_string.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_string.json
new file mode 100644
index 00000000..9822a6ba
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_string.json
@@ -0,0 +1 @@
+["a
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_string.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_string.json
new file mode 100644
index 00000000..42a61936
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_array_string.json
@@ -0,0 +1 @@
+["a"
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_object.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object.json
new file mode 100644
index 00000000..81750b96
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object.json
@@ -0,0 +1 @@
+{
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_close_array.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_close_array.json
new file mode 100755
index 00000000..eebc700a
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_close_array.json
@@ -0,0 +1 @@
+{]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_comma.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_comma.json
new file mode 100644
index 00000000..47bc9106
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_comma.json
@@ -0,0 +1 @@
+{,
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_array.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_array.json
new file mode 100644
index 00000000..381ede5d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_array.json
@@ -0,0 +1 @@
+{[
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_string.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_string.json
new file mode 100644
index 00000000..328c30cd
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_string.json
@@ -0,0 +1 @@
+{"a
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_string_with_apostrophes.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_string_with_apostrophes.json
new file mode 100644
index 00000000..9dba1709
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_object_string_with_apostrophes.json
@@ -0,0 +1 @@
+{'a'
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_open_open.json b/test/data/nst_json_testsuite/test_parsing/n_structure_open_open.json
new file mode 100644
index 00000000..841fd5f8
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_open_open.json
@@ -0,0 +1 @@
+["\{["\{["\{["\{
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_single_point.json b/test/data/nst_json_testsuite/test_parsing/n_structure_single_point.json
new file mode 100644
index 00000000..92a39f39
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_single_point.json
@@ -0,0 +1 @@
+�
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_single_star.json b/test/data/nst_json_testsuite/test_parsing/n_structure_single_star.json
new file mode 100755
index 00000000..f59ec20a
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_single_star.json
@@ -0,0 +1 @@
+*
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_trailing_#.json b/test/data/nst_json_testsuite/test_parsing/n_structure_trailing_#.json
new file mode 100644
index 00000000..89861108
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_trailing_#.json
@@ -0,0 +1 @@
+{"a":"b"}#{}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_uescaped_LF_before_string.json b/test/data/nst_json_testsuite/test_parsing/n_structure_uescaped_LF_before_string.json
new file mode 100755
index 00000000..df2f0f24
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_uescaped_LF_before_string.json
@@ -0,0 +1 @@
+[\u000A""]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array.json b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array.json
new file mode 100755
index 00000000..11209515
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array.json
@@ -0,0 +1 @@
+[1
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_partial_null.json b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_partial_null.json
new file mode 100644
index 00000000..0d591762
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_partial_null.json
@@ -0,0 +1 @@
+[ false, nul
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_false.json b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_false.json
new file mode 100644
index 00000000..a2ff8504
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_false.json
@@ -0,0 +1 @@
+[ true, fals
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_true.json b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_true.json
new file mode 100644
index 00000000..3149e8f5
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_true.json
@@ -0,0 +1 @@
+[ false, tru
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_object.json b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_object.json
new file mode 100755
index 00000000..694d69db
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_object.json
@@ -0,0 +1 @@
+{"asd":"asd"
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_unicode-identifier.json b/test/data/nst_json_testsuite/test_parsing/n_structure_unicode-identifier.json
new file mode 100644
index 00000000..7284aea3
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_unicode-identifier.json
@@ -0,0 +1 @@
+å
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_U+2060_word_joiner.json b/test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_U+2060_word_joiner.json
new file mode 100755
index 00000000..81156a69
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_U+2060_word_joiner.json
@@ -0,0 +1 @@
+[⁠]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_formfeed.json b/test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_formfeed.json
new file mode 100755
index 00000000..a9ea535d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_formfeed.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_arraysWithSpaces.json b/test/data/nst_json_testsuite/test_parsing/y_array_arraysWithSpaces.json
new file mode 100755
index 00000000..58229079
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_arraysWithSpaces.json
@@ -0,0 +1 @@
+[[]   ]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_empty-string.json b/test/data/nst_json_testsuite/test_parsing/y_array_empty-string.json
new file mode 100644
index 00000000..93b6be2b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_empty-string.json
@@ -0,0 +1 @@
+[""]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_empty.json b/test/data/nst_json_testsuite/test_parsing/y_array_empty.json
new file mode 100755
index 00000000..0637a088
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_empty.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_ending_with_newline.json b/test/data/nst_json_testsuite/test_parsing/y_array_ending_with_newline.json
new file mode 100755
index 00000000..eac5f7b4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_ending_with_newline.json
@@ -0,0 +1 @@
+["a"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_false.json b/test/data/nst_json_testsuite/test_parsing/y_array_false.json
new file mode 100644
index 00000000..67b2f076
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_false.json
@@ -0,0 +1 @@
+[false]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_heterogeneous.json b/test/data/nst_json_testsuite/test_parsing/y_array_heterogeneous.json
new file mode 100755
index 00000000..d3c1e264
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_heterogeneous.json
@@ -0,0 +1 @@
+[null, 1, "1", {}]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_null.json b/test/data/nst_json_testsuite/test_parsing/y_array_null.json
new file mode 100644
index 00000000..500db4a8
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_null.json
@@ -0,0 +1 @@
+[null]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_with_1_and_newline.json b/test/data/nst_json_testsuite/test_parsing/y_array_with_1_and_newline.json
new file mode 100644
index 00000000..99482550
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_with_1_and_newline.json
@@ -0,0 +1,2 @@
+[1
+]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_with_leading_space.json b/test/data/nst_json_testsuite/test_parsing/y_array_with_leading_space.json
new file mode 100755
index 00000000..18bfe642
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_with_leading_space.json
@@ -0,0 +1 @@
+ [1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_with_several_null.json b/test/data/nst_json_testsuite/test_parsing/y_array_with_several_null.json
new file mode 100755
index 00000000..99f6c5d1
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_with_several_null.json
@@ -0,0 +1 @@
+[1,null,null,null,2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_array_with_trailing_space.json b/test/data/nst_json_testsuite/test_parsing/y_array_with_trailing_space.json
new file mode 100755
index 00000000..de9e7a94
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_array_with_trailing_space.json
@@ -0,0 +1 @@
+[2] 
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number.json b/test/data/nst_json_testsuite/test_parsing/y_number.json
new file mode 100644
index 00000000..e5f5cc33
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number.json
@@ -0,0 +1 @@
+[123e65]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_0e+1.json b/test/data/nst_json_testsuite/test_parsing/y_number_0e+1.json
new file mode 100755
index 00000000..d1d39670
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_0e+1.json
@@ -0,0 +1 @@
+[0e+1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_0e1.json b/test/data/nst_json_testsuite/test_parsing/y_number_0e1.json
new file mode 100755
index 00000000..3283a793
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_0e1.json
@@ -0,0 +1 @@
+[0e1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_after_space.json b/test/data/nst_json_testsuite/test_parsing/y_number_after_space.json
new file mode 100644
index 00000000..623570d9
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_after_space.json
@@ -0,0 +1 @@
+[ 4]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_double_close_to_zero.json b/test/data/nst_json_testsuite/test_parsing/y_number_double_close_to_zero.json
new file mode 100755
index 00000000..96555ff7
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_double_close_to_zero.json
@@ -0,0 +1 @@
+[-0.000000000000000000000000000000000000000000000000000000000000000000000000000001]
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_double_huge_neg_exp.json b/test/data/nst_json_testsuite/test_parsing/y_number_double_huge_neg_exp.json
new file mode 100644
index 00000000..ae4c7b71
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_double_huge_neg_exp.json
@@ -0,0 +1 @@
+[123.456e-789]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_huge_exp.json b/test/data/nst_json_testsuite/test_parsing/y_number_huge_exp.json
new file mode 100644
index 00000000..9b5efa23
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_huge_exp.json
@@ -0,0 +1 @@
+[0.4e00669999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969999999006]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_int_with_exp.json b/test/data/nst_json_testsuite/test_parsing/y_number_int_with_exp.json
new file mode 100755
index 00000000..a4ca9e75
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_int_with_exp.json
@@ -0,0 +1 @@
+[20e1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_minus_zero.json b/test/data/nst_json_testsuite/test_parsing/y_number_minus_zero.json
new file mode 100755
index 00000000..37af1312
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_minus_zero.json
@@ -0,0 +1 @@
+[-0]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_negative_int.json b/test/data/nst_json_testsuite/test_parsing/y_number_negative_int.json
new file mode 100644
index 00000000..8e30f8bd
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_negative_int.json
@@ -0,0 +1 @@
+[-123]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_negative_one.json b/test/data/nst_json_testsuite/test_parsing/y_number_negative_one.json
new file mode 100644
index 00000000..99d21a2a
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_negative_one.json
@@ -0,0 +1 @@
+[-1]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_negative_zero.json b/test/data/nst_json_testsuite/test_parsing/y_number_negative_zero.json
new file mode 100644
index 00000000..37af1312
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_negative_zero.json
@@ -0,0 +1 @@
+[-0]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e.json
new file mode 100644
index 00000000..6edbdfcb
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e.json
@@ -0,0 +1 @@
+[1E22]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_neg_exp.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_neg_exp.json
new file mode 100644
index 00000000..0a01bd3e
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_neg_exp.json
@@ -0,0 +1 @@
+[1E-2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_pos_exp.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_pos_exp.json
new file mode 100644
index 00000000..5a8fc097
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_pos_exp.json
@@ -0,0 +1 @@
+[1E+2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_exponent.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_exponent.json
new file mode 100644
index 00000000..da2522d6
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_exponent.json
@@ -0,0 +1 @@
+[123e45]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_fraction_exponent.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_fraction_exponent.json
new file mode 100644
index 00000000..3944a7a4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_fraction_exponent.json
@@ -0,0 +1 @@
+[123.456e78]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_exp.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_exp.json
new file mode 100644
index 00000000..ca40d3c2
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_exp.json
@@ -0,0 +1 @@
+[1e-2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_overflow.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_overflow.json
new file mode 100644
index 00000000..3d628a99
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_neg_overflow.json
@@ -0,0 +1 @@
+[-123123e100000]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_exponent.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_exponent.json
new file mode 100644
index 00000000..343601d5
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_exponent.json
@@ -0,0 +1 @@
+[1e+2]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_overflow.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_overflow.json
new file mode 100644
index 00000000..54d7d3dc
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_pos_overflow.json
@@ -0,0 +1 @@
+[123123e100000]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_real_underflow.json b/test/data/nst_json_testsuite/test_parsing/y_number_real_underflow.json
new file mode 100644
index 00000000..c5236eb2
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_real_underflow.json
@@ -0,0 +1 @@
+[123e-10000000]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_simple_int.json b/test/data/nst_json_testsuite/test_parsing/y_number_simple_int.json
new file mode 100644
index 00000000..e47f69af
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_simple_int.json
@@ -0,0 +1 @@
+[123]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_simple_real.json b/test/data/nst_json_testsuite/test_parsing/y_number_simple_real.json
new file mode 100644
index 00000000..b02878e5
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_simple_real.json
@@ -0,0 +1 @@
+[123.456789]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_too_big_neg_int.json b/test/data/nst_json_testsuite/test_parsing/y_number_too_big_neg_int.json
new file mode 100644
index 00000000..dfa38461
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_too_big_neg_int.json
@@ -0,0 +1 @@
+[-123123123123123123123123123123]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_too_big_pos_int.json b/test/data/nst_json_testsuite/test_parsing/y_number_too_big_pos_int.json
new file mode 100644
index 00000000..338a8c3c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_too_big_pos_int.json
@@ -0,0 +1 @@
+[100000000000000000000]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_number_very_big_negative_int.json b/test/data/nst_json_testsuite/test_parsing/y_number_very_big_negative_int.json
new file mode 100755
index 00000000..e2d9738c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_number_very_big_negative_int.json
@@ -0,0 +1 @@
+[-237462374673276894279832749832423479823246327846]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object.json b/test/data/nst_json_testsuite/test_parsing/y_object.json
new file mode 100755
index 00000000..78262eda
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object.json
@@ -0,0 +1 @@
+{"asd":"sdf", "dfg":"fgh"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_basic.json b/test/data/nst_json_testsuite/test_parsing/y_object_basic.json
new file mode 100755
index 00000000..646bbe7b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_basic.json
@@ -0,0 +1 @@
+{"asd":"sdf"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key.json b/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key.json
new file mode 100755
index 00000000..bbc2e1ce
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key.json
@@ -0,0 +1 @@
+{"a":"b","a":"c"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key_and_value.json b/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key_and_value.json
new file mode 100755
index 00000000..211581c2
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key_and_value.json
@@ -0,0 +1 @@
+{"a":"b","a":"b"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_empty.json b/test/data/nst_json_testsuite/test_parsing/y_object_empty.json
new file mode 100644
index 00000000..9e26dfee
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_empty.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_empty_key.json b/test/data/nst_json_testsuite/test_parsing/y_object_empty_key.json
new file mode 100755
index 00000000..c0013d3b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_empty_key.json
@@ -0,0 +1 @@
+{"":0}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_escaped_null_in_key.json b/test/data/nst_json_testsuite/test_parsing/y_object_escaped_null_in_key.json
new file mode 100644
index 00000000..593f0f67
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_escaped_null_in_key.json
@@ -0,0 +1 @@
+{"foo\u0000bar": 42}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_extreme_numbers.json b/test/data/nst_json_testsuite/test_parsing/y_object_extreme_numbers.json
new file mode 100644
index 00000000..56a90892
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_extreme_numbers.json
@@ -0,0 +1 @@
+{ "min": -1.0e+28, "max": 1.0e+28 }
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_long_strings.json b/test/data/nst_json_testsuite/test_parsing/y_object_long_strings.json
new file mode 100644
index 00000000..bdc4a087
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_long_strings.json
@@ -0,0 +1 @@
+{"x":[{"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}], "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_simple.json b/test/data/nst_json_testsuite/test_parsing/y_object_simple.json
new file mode 100644
index 00000000..dacac917
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_simple.json
@@ -0,0 +1 @@
+{"a":[]}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_string_unicode.json b/test/data/nst_json_testsuite/test_parsing/y_object_string_unicode.json
new file mode 100644
index 00000000..8effdb29
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_string_unicode.json
@@ -0,0 +1 @@
+{"title":"\u041f\u043e\u043b\u0442\u043e\u0440\u0430 \u0417\u0435\u043c\u043b\u0435\u043a\u043e\u043f\u0430" }
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_object_with_newlines.json b/test/data/nst_json_testsuite/test_parsing/y_object_with_newlines.json
new file mode 100644
index 00000000..246ec6b3
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_object_with_newlines.json
@@ -0,0 +1,3 @@
+{
+"a": "b"
+}
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json b/test/data/nst_json_testsuite/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json
new file mode 100755
index 00000000..9967ddeb
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json
@@ -0,0 +1 @@
+["\u0060\u012a\u12AB"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json b/test/data/nst_json_testsuite/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json
new file mode 100755
index 00000000..7620b665
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json
@@ -0,0 +1 @@
+["\uD834\uDd1e"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pair.json b/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pair.json
new file mode 100755
index 00000000..996875cc
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pair.json
@@ -0,0 +1 @@
+["\uD801\udc37"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pairs.json b/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pairs.json
new file mode 100755
index 00000000..3401021e
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pairs.json
@@ -0,0 +1 @@
+["\ud83d\ude39\ud83d\udc8d"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_allowed_escapes.json b/test/data/nst_json_testsuite/test_parsing/y_string_allowed_escapes.json
new file mode 100644
index 00000000..7f495532
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_allowed_escapes.json
@@ -0,0 +1 @@
+["\"\\\/\b\f\n\r\t"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_backslash_and_u_escaped_zero.json b/test/data/nst_json_testsuite/test_parsing/y_string_backslash_and_u_escaped_zero.json
new file mode 100755
index 00000000..d4439eda
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_backslash_and_u_escaped_zero.json
@@ -0,0 +1 @@
+["\\u0000"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_backslash_doublequotes.json b/test/data/nst_json_testsuite/test_parsing/y_string_backslash_doublequotes.json
new file mode 100644
index 00000000..ae03243b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_backslash_doublequotes.json
@@ -0,0 +1 @@
+["\""]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_comments.json b/test/data/nst_json_testsuite/test_parsing/y_string_comments.json
new file mode 100644
index 00000000..2260c20c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_comments.json
@@ -0,0 +1 @@
+["a/*b*/c/*d//e"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_a.json b/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_a.json
new file mode 100644
index 00000000..6715d6f4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_a.json
@@ -0,0 +1 @@
+["\\a"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_n.json b/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_n.json
new file mode 100644
index 00000000..44ca56c4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_double_escape_n.json
@@ -0,0 +1 @@
+["\\n"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_escaped_control_character.json b/test/data/nst_json_testsuite/test_parsing/y_string_escaped_control_character.json
new file mode 100644
index 00000000..5b014a9c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_escaped_control_character.json
@@ -0,0 +1 @@
+["\u0012"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_escaped_noncharacter.json b/test/data/nst_json_testsuite/test_parsing/y_string_escaped_noncharacter.json
new file mode 100755
index 00000000..2ff52e2c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_escaped_noncharacter.json
@@ -0,0 +1 @@
+["\uFFFF"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_in_array.json b/test/data/nst_json_testsuite/test_parsing/y_string_in_array.json
new file mode 100755
index 00000000..21d7ae4c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_in_array.json
@@ -0,0 +1 @@
+["asd"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_in_array_with_leading_space.json b/test/data/nst_json_testsuite/test_parsing/y_string_in_array_with_leading_space.json
new file mode 100755
index 00000000..9e1887c1
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_in_array_with_leading_space.json
@@ -0,0 +1 @@
+[ "asd"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_last_surrogates_1_and_2.json b/test/data/nst_json_testsuite/test_parsing/y_string_last_surrogates_1_and_2.json
new file mode 100644
index 00000000..3919cef7
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_last_surrogates_1_and_2.json
@@ -0,0 +1 @@
+["\uDBFF\uDFFF"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_newline_uescaped.json b/test/data/nst_json_testsuite/test_parsing/y_string_newline_uescaped.json
new file mode 100644
index 00000000..2085ab1a
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_newline_uescaped.json
@@ -0,0 +1 @@
+["new\u00A0line"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json b/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json
new file mode 100755
index 00000000..059e4d9d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json
@@ -0,0 +1 @@
+["􏿿"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json b/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json
new file mode 100755
index 00000000..10a33a17
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json
@@ -0,0 +1 @@
+["𛿿"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json b/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json
new file mode 100755
index 00000000..4c913bd4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json
@@ -0,0 +1 @@
+["￿"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_null_escape.json b/test/data/nst_json_testsuite/test_parsing/y_string_null_escape.json
new file mode 100644
index 00000000..c1ad8440
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_null_escape.json
@@ -0,0 +1 @@
+["\u0000"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_one-byte-utf-8.json b/test/data/nst_json_testsuite/test_parsing/y_string_one-byte-utf-8.json
new file mode 100644
index 00000000..15718592
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_one-byte-utf-8.json
@@ -0,0 +1 @@
+["\u002c"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_pi.json b/test/data/nst_json_testsuite/test_parsing/y_string_pi.json
new file mode 100644
index 00000000..9df11ae8
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_pi.json
@@ -0,0 +1 @@
+["π"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_simple_ascii.json b/test/data/nst_json_testsuite/test_parsing/y_string_simple_ascii.json
new file mode 100644
index 00000000..8cadf7d0
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_simple_ascii.json
@@ -0,0 +1 @@
+["asd "]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_space.json b/test/data/nst_json_testsuite/test_parsing/y_string_space.json
new file mode 100644
index 00000000..efd782cc
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_space.json
@@ -0,0 +1 @@
+" "
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_three-byte-utf-8.json b/test/data/nst_json_testsuite/test_parsing/y_string_three-byte-utf-8.json
new file mode 100644
index 00000000..108f1d67
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_three-byte-utf-8.json
@@ -0,0 +1 @@
+["\u0821"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_two-byte-utf-8.json b/test/data/nst_json_testsuite/test_parsing/y_string_two-byte-utf-8.json
new file mode 100644
index 00000000..461503c3
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_two-byte-utf-8.json
@@ -0,0 +1 @@
+["\u0123"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_u+2028_line_sep.json b/test/data/nst_json_testsuite/test_parsing/y_string_u+2028_line_sep.json
new file mode 100755
index 00000000..897b6021
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_u+2028_line_sep.json
@@ -0,0 +1 @@
+["
"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_u+2029_par_sep.json b/test/data/nst_json_testsuite/test_parsing/y_string_u+2029_par_sep.json
new file mode 100755
index 00000000..8cd998c8
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_u+2029_par_sep.json
@@ -0,0 +1 @@
+["
"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_uEscape.json b/test/data/nst_json_testsuite/test_parsing/y_string_uEscape.json
new file mode 100755
index 00000000..f7b41a02
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_uEscape.json
@@ -0,0 +1 @@
+["\u0061\u30af\u30EA\u30b9"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_unescaped_char_delete.json b/test/data/nst_json_testsuite/test_parsing/y_string_unescaped_char_delete.json
new file mode 100755
index 00000000..7d064f49
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_unescaped_char_delete.json
@@ -0,0 +1 @@
+[""]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_unicode.json b/test/data/nst_json_testsuite/test_parsing/y_string_unicode.json
new file mode 100644
index 00000000..3598095b
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_unicode.json
@@ -0,0 +1 @@
+["\uA66D"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_unicodeEscapedBackslash.json b/test/data/nst_json_testsuite/test_parsing/y_string_unicodeEscapedBackslash.json
new file mode 100755
index 00000000..0bb3b51e
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_unicodeEscapedBackslash.json
@@ -0,0 +1 @@
+["\u005C"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_unicode_2.json b/test/data/nst_json_testsuite/test_parsing/y_string_unicode_2.json
new file mode 100644
index 00000000..a7dcb976
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_unicode_2.json
@@ -0,0 +1 @@
+["⍂㈴⍂"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json b/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json
new file mode 100644
index 00000000..626d5f81
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json
@@ -0,0 +1 @@
+["\u200B"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+2064_invisible_plus.json b/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+2064_invisible_plus.json
new file mode 100644
index 00000000..1e23972c
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+2064_invisible_plus.json
@@ -0,0 +1 @@
+["\u2064"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_unicode_escaped_double_quote.json b/test/data/nst_json_testsuite/test_parsing/y_string_unicode_escaped_double_quote.json
new file mode 100755
index 00000000..4e625785
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_unicode_escaped_double_quote.json
@@ -0,0 +1 @@
+["\u0022"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_utf16.json b/test/data/nst_json_testsuite/test_parsing/y_string_utf16.json
new file mode 100644
index 0000000000000000000000000000000000000000..2a79c0629a49133d8f715bddbef19cfb3ef025bd
GIT binary patch
literal 12
ScmezWFPcG#;Uy5qG5`P~Km+3d

literal 0
HcmV?d00001

diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_utf8.json b/test/data/nst_json_testsuite/test_parsing/y_string_utf8.json
new file mode 100644
index 00000000..40878435
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_utf8.json
@@ -0,0 +1 @@
+["€𝄞"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_string_with_del_character.json b/test/data/nst_json_testsuite/test_parsing/y_string_with_del_character.json
new file mode 100755
index 00000000..8bd24907
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_string_with_del_character.json
@@ -0,0 +1 @@
+["aa"]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_false.json b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_false.json
new file mode 100644
index 00000000..02e4a84d
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_false.json
@@ -0,0 +1 @@
+false
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_int.json b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_int.json
new file mode 100755
index 00000000..f70d7bba
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_int.json
@@ -0,0 +1 @@
+42
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_negative_real.json b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_negative_real.json
new file mode 100755
index 00000000..b5135a20
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_negative_real.json
@@ -0,0 +1 @@
+-0.1
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_null.json b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_null.json
new file mode 100644
index 00000000..ec747fa4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_null.json
@@ -0,0 +1 @@
+null
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_string.json b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_string.json
new file mode 100755
index 00000000..b6e982ca
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_string.json
@@ -0,0 +1 @@
+"asd"
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_true.json b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_true.json
new file mode 100755
index 00000000..f32a5804
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_lonely_true.json
@@ -0,0 +1 @@
+true
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_string_empty.json b/test/data/nst_json_testsuite/test_parsing/y_structure_string_empty.json
new file mode 100644
index 00000000..3cc762b5
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_string_empty.json
@@ -0,0 +1 @@
+""
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_trailing_newline.json b/test/data/nst_json_testsuite/test_parsing/y_structure_trailing_newline.json
new file mode 100644
index 00000000..0c3426d4
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_trailing_newline.json
@@ -0,0 +1 @@
+["a"]
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_true_in_array.json b/test/data/nst_json_testsuite/test_parsing/y_structure_true_in_array.json
new file mode 100644
index 00000000..de601e30
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_true_in_array.json
@@ -0,0 +1 @@
+[true]
\ No newline at end of file
diff --git a/test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json b/test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json
new file mode 100644
index 00000000..2bedf7f2
--- /dev/null
+++ b/test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json
@@ -0,0 +1 @@
+ [] 
\ No newline at end of file

From 2fdba9de1975a6cc2de4420f190befd10811f56f Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Wed, 26 Oct 2016 23:45:11 +0200
Subject: [PATCH 08/19] added "y" cases

---
 test/src/unit-testsuites.cpp | 330 +++++++++++++++++++++++++++++++++++
 1 file changed, 330 insertions(+)

diff --git a/test/src/unit-testsuites.cpp b/test/src/unit-testsuites.cpp
index f717a98a..79da2f32 100644
--- a/test/src/unit-testsuites.cpp
+++ b/test/src/unit-testsuites.cpp
@@ -434,3 +434,333 @@ TEST_CASE("RFC 7159 examples")
         CHECK(json::parse("true") == json(true));
     }
 }
+
+TEST_CASE("nst's JSONTestSuite")
+{
+    SECTION("test_parsing")
+    {
+        SECTION("y")
+        {
+            for (auto filename :
+                    {
+                        "test/data/nst_json_testsuite/test_parsing/y_array_arraysWithSpaces.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_empty-string.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_empty.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_ending_with_newline.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_false.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_heterogeneous.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_null.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_with_1_and_newline.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_with_leading_space.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_with_several_null.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_array_with_trailing_space.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_0e+1.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_0e1.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_after_space.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_double_close_to_zero.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_double_huge_neg_exp.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_huge_exp.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_int_with_exp.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_minus_zero.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_negative_int.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_negative_one.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_negative_zero.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_neg_exp.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_capital_e_pos_exp.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_exponent.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_fraction_exponent.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_neg_exp.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_neg_overflow.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_pos_exponent.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_pos_overflow.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_real_underflow.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_simple_int.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_simple_real.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_too_big_neg_int.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_too_big_pos_int.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_number_very_big_negative_int.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_basic.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_duplicated_key_and_value.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_empty.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_empty_key.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_escaped_null_in_key.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_extreme_numbers.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_long_strings.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_simple.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_string_unicode.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_object_with_newlines.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pair.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_accepted_surrogate_pairs.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_allowed_escapes.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_backslash_and_u_escaped_zero.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_backslash_doublequotes.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_comments.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_double_escape_a.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_double_escape_n.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_escaped_control_character.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_escaped_noncharacter.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_in_array.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_in_array_with_leading_space.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_last_surrogates_1_and_2.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_newline_uescaped.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_null_escape.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_one-byte-utf-8.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_pi.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_simple_ascii.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_space.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_three-byte-utf-8.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_two-byte-utf-8.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_u+2028_line_sep.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_u+2029_par_sep.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_uEscape.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_unescaped_char_delete.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_unicode.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_unicodeEscapedBackslash.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_unicode_2.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+2064_invisible_plus.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_unicode_escaped_double_quote.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_utf16.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_utf8.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_string_with_del_character.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_lonely_false.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_lonely_int.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_lonely_negative_real.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_lonely_null.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_lonely_string.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_lonely_true.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_string_empty.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_trailing_newline.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_true_in_array.json",
+                        "test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json"
+                    }
+                )
+            {
+                CAPTURE(filename);
+                std::ifstream f(filename);
+                json j;
+                CHECK_NOTHROW(j << f);
+            }
+        }
+
+        /*
+                SECTION("n")
+                {
+                    for (auto filename :
+                            {
+                                "test/data/nst_json_testsuite/test_parsing/n_array_1_true_without_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_a_invalid_utf8.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_colon_instead_of_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_comma_after_close.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_comma_and_number.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_double_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_double_extra_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_extra_close.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_extra_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_incomplete.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_incomplete_invalid_value.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_inner_array_no_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_invalid_utf8.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_items_separated_by_semicolon.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_just_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_just_minus.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_missing_value.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_newlines_unclosed.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_number_and_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_number_and_several_commas.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_spaces_vertical_tab_formfeed.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_star_inside.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_unclosed.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_trailing_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_new_lines.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_object_inside.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_incomplete_false.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_incomplete_null.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_incomplete_true.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_++.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_+1.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_+Inf.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_-01.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_-1.0..json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_-2..json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_-NaN.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_.-1.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_.2e-3.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_0.1.2.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_0.3e+.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_0.3e.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_0.e1.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E+.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_0e+.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_0e.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_1.0e+.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_1.0e-.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_1.0e.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_1_000.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_1eE2.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_2.e+3.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_2.e-3.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_2.e3.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_9.e+.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_Inf.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_NaN.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_U+FF11_fullwidth_digit_one.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_expression.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_hex_1_digit.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_hex_2_digits.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_infinity.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid+-.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid-negative-real.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-bigger-int.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-exponent.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-int.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_minus_infinity.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_minus_sign_with_trailing_garbage.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_minus_space_1.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_neg_int_starting_with_zero.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_neg_real_without_int_part.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_neg_with_garbage_at_end.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_real_garbage_after_e.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_real_with_invalid_utf8_after_e.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_real_without_fractional_part.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_starting_with_dot.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_then_00.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_with_alpha.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_with_alpha_char.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_number_with_leading_zero.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_bad_value.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_bracket_key.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_comma_instead_of_colon.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_double_colon.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_emoji.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_garbage_at_end.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_key_with_single_quotes.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_missing_colon.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_missing_key.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_missing_semicolon.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_missing_value.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_no-colon.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_non_string_key.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_non_string_key_but_huge_number_instead.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_pi_in_key_and_trailing_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_repeated_null_null.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_several_trailing_commas.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_single_quote.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_open.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open_incomplete.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_two_commas_in_a_row.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_unquoted_key.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_unterminated-value.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_with_single_string.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_object_with_trailing_garbage.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_single_space.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1x.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_UTF-16_incomplete_surrogate.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_accentuated_char_no_quotes.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_backslash_00.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_escape_x.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_escaped_backslash_bad.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_escaped_ctrl_char_tab.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_escaped_emoji.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escape.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escaped_character.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_surrogate_escape_invalid.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid-utf-8-in-escape.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid_backslash_esc.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid_unicode_escape.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf8_after_escape.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_leading_uescaped_thinspace.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_no_quotes_with_bad_escape.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_single_doublequote.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_single_quote.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_single_string_no_double_quotes.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_start_escape_unclosed.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_crtl_char.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_newline.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_tab.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_unicode_CapitalU.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_string_with_trailing_garbage.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_100000_opening_arrays.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_U+2060_word_joined.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_UTF8_BOM_no_data.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_array_trailing_garbage.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_array_with_extra_array_close.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_array_with_unclosed_string.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_ascii-unicode-identifier.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_capitalized_True.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_close_unopened_array.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_comma_instead_of_closing_brace.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_double_array.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_end_array.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_incomplete_UTF8_BOM.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_lone-invalid-utf-8.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_lone-open-bracket.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_no_data.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_null-byte-outside-string.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_number_with_trailing_garbage.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_object_followed_by_closing_object.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_object_unclosed_no_value.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_object_with_comment.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_object_with_trailing_garbage.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_apostrophe.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_object.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_object.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_string.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_string.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_close_array.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_comma.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_array.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_string.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_string_with_apostrophes.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_open.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_single_point.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_single_star.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_trailing_#.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_uescaped_LF_before_string.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_partial_null.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_false.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_true.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_object.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_unicode-identifier.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_U+2060_word_joiner.json",
+                                "test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_formfeed.json"
+                            }
+                        )
+                    {
+                        CAPTURE(filename);
+                        std::ifstream f(filename);
+                        json j;
+                        CHECK_THROWS_AS(j << f, std::invalid_argument);
+                    }
+                }
+                */
+    }
+}

From 42ea4fb7510447d1328ab296ee8d9d77c5200de4 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sat, 29 Oct 2016 13:32:36 +0200
Subject: [PATCH 09/19] fixed a bug for short input files (#344)

For input files with less than 5 bytes, the parser had a bug so that
refilling the input buffer led to erasing it.
---
 src/json.hpp                 | 12 ++++++++----
 src/json.hpp.re2c            | 12 ++++++++----
 test/src/unit-testsuites.cpp |  2 +-
 3 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/src/json.hpp b/src/json.hpp
index 83cbfdb1..06a7dee9 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -8598,11 +8598,15 @@ basic_json_parser_63:
             // no stream is used or end of file is reached
             if (m_stream == nullptr or m_stream->eof())
             {
-                // copy unprocessed characters to line buffer
-                m_line_buffer.clear();
-                for (m_cursor = m_start; m_cursor != m_limit; ++m_cursor)
+                // skip this part if we are already using the line buffer
+                if (m_start != reinterpret_cast<const lexer_char_t*>(m_line_buffer.data()))
                 {
-                    m_line_buffer.append(1, static_cast<const char>(*m_cursor));
+                    // copy unprocessed characters to line buffer
+                    m_line_buffer.clear();
+                    for (m_cursor = m_start; m_cursor != m_limit; ++m_cursor)
+                    {
+                        m_line_buffer.append(1, static_cast<const char>(*m_cursor));
+                    }
                 }
 
                 // append 5 characters (size of longest keyword "false") to
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index f36879f8..2b2bec9a 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -7895,11 +7895,15 @@ class basic_json
             // no stream is used or end of file is reached
             if (m_stream == nullptr or m_stream->eof())
             {
-                // copy unprocessed characters to line buffer
-                m_line_buffer.clear();
-                for (m_cursor = m_start; m_cursor != m_limit; ++m_cursor)
+                // skip this part if we are already using the line buffer
+                if (m_start != reinterpret_cast<const lexer_char_t*>(m_line_buffer.data()))
                 {
-                    m_line_buffer.append(1, static_cast<const char>(*m_cursor));
+                    // copy unprocessed characters to line buffer
+                    m_line_buffer.clear();
+                    for (m_cursor = m_start; m_cursor != m_limit; ++m_cursor)
+                    {
+                        m_line_buffer.append(1, static_cast<const char>(*m_cursor));
+                    }
                 }
 
                 // append 5 characters (size of longest keyword "false") to
diff --git a/test/src/unit-testsuites.cpp b/test/src/unit-testsuites.cpp
index 79da2f32..dacf6f90 100644
--- a/test/src/unit-testsuites.cpp
+++ b/test/src/unit-testsuites.cpp
@@ -529,7 +529,7 @@ TEST_CASE("nst's JSONTestSuite")
                         "test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json",
                         "test/data/nst_json_testsuite/test_parsing/y_string_unicode_U+2064_invisible_plus.json",
                         "test/data/nst_json_testsuite/test_parsing/y_string_unicode_escaped_double_quote.json",
-                        "test/data/nst_json_testsuite/test_parsing/y_string_utf16.json",
+                        // "test/data/nst_json_testsuite/test_parsing/y_string_utf16.json",
                         "test/data/nst_json_testsuite/test_parsing/y_string_utf8.json",
                         "test/data/nst_json_testsuite/test_parsing/y_string_with_del_character.json",
                         "test/data/nst_json_testsuite/test_parsing/y_structure_lonely_false.json",

From b03bbe724db7fef519bad36cd547ad7f7cacd233 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sat, 29 Oct 2016 14:02:33 +0200
Subject: [PATCH 10/19] added n test cases (#344)

---
 test/src/unit-testsuites.cpp | 414 +++++++++++++++++------------------
 1 file changed, 206 insertions(+), 208 deletions(-)

diff --git a/test/src/unit-testsuites.cpp b/test/src/unit-testsuites.cpp
index dacf6f90..7cf6c26a 100644
--- a/test/src/unit-testsuites.cpp
+++ b/test/src/unit-testsuites.cpp
@@ -552,215 +552,213 @@ TEST_CASE("nst's JSONTestSuite")
             }
         }
 
-        /*
-                SECTION("n")
-                {
-                    for (auto filename :
-                            {
-                                "test/data/nst_json_testsuite/test_parsing/n_array_1_true_without_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_a_invalid_utf8.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_colon_instead_of_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_comma_after_close.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_comma_and_number.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_double_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_double_extra_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_extra_close.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_extra_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_incomplete.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_incomplete_invalid_value.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_inner_array_no_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_invalid_utf8.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_items_separated_by_semicolon.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_just_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_just_minus.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_missing_value.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_newlines_unclosed.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_number_and_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_number_and_several_commas.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_spaces_vertical_tab_formfeed.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_star_inside.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_unclosed.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_trailing_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_new_lines.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_object_inside.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_incomplete_false.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_incomplete_null.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_incomplete_true.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_++.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_+1.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_+Inf.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_-01.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_-1.0..json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_-2..json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_-NaN.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_.-1.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_.2e-3.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_0.1.2.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_0.3e+.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_0.3e.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_0.e1.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E+.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_0e+.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_0e.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_1.0e+.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_1.0e-.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_1.0e.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_1_000.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_1eE2.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_2.e+3.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_2.e-3.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_2.e3.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_9.e+.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_Inf.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_NaN.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_U+FF11_fullwidth_digit_one.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_expression.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_hex_1_digit.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_hex_2_digits.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_infinity.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid+-.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid-negative-real.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-bigger-int.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-exponent.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-int.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_minus_infinity.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_minus_sign_with_trailing_garbage.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_minus_space_1.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_neg_int_starting_with_zero.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_neg_real_without_int_part.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_neg_with_garbage_at_end.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_real_garbage_after_e.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_real_with_invalid_utf8_after_e.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_real_without_fractional_part.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_starting_with_dot.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_then_00.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_with_alpha.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_with_alpha_char.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_number_with_leading_zero.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_bad_value.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_bracket_key.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_comma_instead_of_colon.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_double_colon.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_emoji.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_garbage_at_end.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_key_with_single_quotes.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_missing_colon.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_missing_key.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_missing_semicolon.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_missing_value.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_no-colon.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_non_string_key.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_non_string_key_but_huge_number_instead.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_pi_in_key_and_trailing_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_repeated_null_null.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_several_trailing_commas.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_single_quote.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_open.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open_incomplete.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_two_commas_in_a_row.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_unquoted_key.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_unterminated-value.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_with_single_string.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_object_with_trailing_garbage.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_single_space.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1x.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_UTF-16_incomplete_surrogate.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_accentuated_char_no_quotes.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_backslash_00.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_escape_x.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_escaped_backslash_bad.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_escaped_ctrl_char_tab.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_escaped_emoji.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escape.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escaped_character.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_surrogate_escape_invalid.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid-utf-8-in-escape.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid_backslash_esc.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid_unicode_escape.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf8_after_escape.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_leading_uescaped_thinspace.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_no_quotes_with_bad_escape.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_single_doublequote.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_single_quote.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_single_string_no_double_quotes.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_start_escape_unclosed.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_crtl_char.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_newline.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_tab.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_unicode_CapitalU.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_string_with_trailing_garbage.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_100000_opening_arrays.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_U+2060_word_joined.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_UTF8_BOM_no_data.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_array_trailing_garbage.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_array_with_extra_array_close.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_array_with_unclosed_string.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_ascii-unicode-identifier.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_capitalized_True.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_close_unopened_array.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_comma_instead_of_closing_brace.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_double_array.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_end_array.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_incomplete_UTF8_BOM.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_lone-invalid-utf-8.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_lone-open-bracket.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_no_data.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_null-byte-outside-string.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_number_with_trailing_garbage.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_object_followed_by_closing_object.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_object_unclosed_no_value.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_object_with_comment.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_object_with_trailing_garbage.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_apostrophe.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_object.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_object.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_string.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_string.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_close_array.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_comma.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_array.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_string.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_string_with_apostrophes.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_open_open.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_single_point.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_single_star.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_trailing_#.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_uescaped_LF_before_string.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_partial_null.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_false.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_true.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_object.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_unicode-identifier.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_U+2060_word_joiner.json",
-                                "test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_formfeed.json"
-                            }
-                        )
+        SECTION("n")
+        {
+            for (auto filename :
                     {
-                        CAPTURE(filename);
-                        std::ifstream f(filename);
-                        json j;
-                        CHECK_THROWS_AS(j << f, std::invalid_argument);
+                        "test/data/nst_json_testsuite/test_parsing/n_array_1_true_without_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_a_invalid_utf8.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_colon_instead_of_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_comma_after_close.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_comma_and_number.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_double_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_double_extra_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_extra_close.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_extra_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_incomplete.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_incomplete_invalid_value.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_inner_array_no_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_invalid_utf8.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_items_separated_by_semicolon.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_just_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_just_minus.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_missing_value.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_newlines_unclosed.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_number_and_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_number_and_several_commas.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_spaces_vertical_tab_formfeed.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_star_inside.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_unclosed.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_trailing_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_new_lines.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_array_unclosed_with_object_inside.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_incomplete_false.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_incomplete_null.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_incomplete_true.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_++.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_+1.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_+Inf.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_-01.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_-1.0..json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_-2..json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_-NaN.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_.-1.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_.2e-3.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_0.1.2.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_0.3e+.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_0.3e.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_0.e1.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E+.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_0_capital_E.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_0e+.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_0e.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_1.0e+.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_1.0e-.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_1.0e.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_1_000.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_1eE2.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_2.e+3.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_2.e-3.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_2.e3.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_9.e+.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_Inf.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_NaN.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_U+FF11_fullwidth_digit_one.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_expression.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_hex_1_digit.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_hex_2_digits.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_infinity.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_invalid+-.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_invalid-negative-real.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-bigger-int.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-exponent.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_invalid-utf-8-in-int.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_minus_infinity.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_minus_sign_with_trailing_garbage.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_minus_space_1.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_neg_int_starting_with_zero.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_neg_real_without_int_part.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_neg_with_garbage_at_end.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_real_garbage_after_e.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_real_with_invalid_utf8_after_e.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_real_without_fractional_part.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_starting_with_dot.json",
+                        //"test/data/nst_json_testsuite/test_parsing/n_number_then_00.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_with_alpha.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_with_alpha_char.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_number_with_leading_zero.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_bad_value.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_bracket_key.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_comma_instead_of_colon.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_double_colon.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_emoji.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_garbage_at_end.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_key_with_single_quotes.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_missing_colon.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_missing_key.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_missing_semicolon.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_missing_value.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_no-colon.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_non_string_key.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_non_string_key_but_huge_number_instead.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_pi_in_key_and_trailing_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_repeated_null_null.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_several_trailing_commas.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_single_quote.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_open.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_trailing_comment_slash_open_incomplete.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_two_commas_in_a_row.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_unquoted_key.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_unterminated-value.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_with_single_string.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_object_with_trailing_garbage.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_single_space.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1x.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_UTF-16_incomplete_surrogate.json",
+                        //"test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_accentuated_char_no_quotes.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_backslash_00.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_escape_x.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_escaped_backslash_bad.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_escaped_ctrl_char_tab.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_escaped_emoji.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escape.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_escaped_character.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_incomplete_surrogate_escape_invalid.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_invalid-utf-8-in-escape.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_invalid_backslash_esc.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_invalid_unicode_escape.json",
+                        //"test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf8_after_escape.json",
+                        //"test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_leading_uescaped_thinspace.json",
+                        //"test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_no_quotes_with_bad_escape.json",
+                        //"test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json",
+                        //"test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json",
+                        //"test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_single_doublequote.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_single_quote.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_single_string_no_double_quotes.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_start_escape_unclosed.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_crtl_char.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_newline.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_unescaped_tab.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_unicode_CapitalU.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_with_trailing_garbage.json",
+                        //!"test/data/nst_json_testsuite/test_parsing/n_structure_100000_opening_arrays.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_U+2060_word_joined.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_UTF8_BOM_no_data.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_array_trailing_garbage.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_array_with_extra_array_close.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_array_with_unclosed_string.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_ascii-unicode-identifier.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_capitalized_True.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_close_unopened_array.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_comma_instead_of_closing_brace.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_double_array.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_end_array.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_incomplete_UTF8_BOM.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_lone-invalid-utf-8.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_lone-open-bracket.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_no_data.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_null-byte-outside-string.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_number_with_trailing_garbage.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_object_followed_by_closing_object.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_object_unclosed_no_value.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_object_with_comment.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_object_with_trailing_garbage.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_apostrophe.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_comma.json",
+                        //!"test/data/nst_json_testsuite/test_parsing/n_structure_open_array_object.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_object.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_open_string.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_array_string.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_object.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_close_array.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_comma.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_array.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_open_string.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_object_string_with_apostrophes.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_open_open.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_single_point.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_single_star.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_trailing_#.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_uescaped_LF_before_string.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_partial_null.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_false.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_array_unfinished_true.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_unclosed_object.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_unicode-identifier.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_U+2060_word_joiner.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_whitespace_formfeed.json"
                     }
-                }
-                */
+                )
+            {
+                CAPTURE(filename);
+                std::ifstream f(filename);
+                json j;
+                CHECK_THROWS_AS(j << f, std::invalid_argument);
+            }
+        }
     }
 }

From b820bb3b1f634879e6b6d20334062d9524ff5480 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sat, 29 Oct 2016 19:35:17 +0200
Subject: [PATCH 11/19] fixed a lot of unicode errors (#344)

BOMs currently yield an error.
---
 Makefile                     |   2 +-
 src/json.hpp                 | 457 +++++++++++++++++++++++++----------
 src/json.hpp.re2c            |   2 +-
 test/src/unit-testsuites.cpp |  14 +-
 test/src/unit-unicode.cpp    |   4 +-
 5 files changed, 334 insertions(+), 145 deletions(-)

diff --git a/Makefile b/Makefile
index 4c96bad7..4c66fbfb 100644
--- a/Makefile
+++ b/Makefile
@@ -75,7 +75,7 @@ clang_sanitize: clean
 
 # create scanner with re2c
 re2c: src/json.hpp.re2c
-	$(RE2C) -W --bit-vectors --nested-ifs --no-debug-info $< | $(SED) '1d' > src/json.hpp
+	$(RE2C) -W --utf-8 --encoding-policy fail --bit-vectors --nested-ifs --no-debug-info $< | $(SED) '1d' > src/json.hpp
 
 # pretty printer
 pretty:
diff --git a/src/json.hpp b/src/json.hpp
index 06a7dee9..9c142443 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -7809,24 +7809,24 @@ class basic_json
                         128, 128, 128, 128, 128, 128, 128, 128,
                         128, 128, 128, 128, 128, 128, 128, 128,
                         128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
-                        128, 128, 128, 128, 128, 128, 128, 128,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
+                        0,   0,   0,   0,   0,   0,   0,   0,
                     };
-                    if ((m_limit - m_cursor) < 5)
+                    if ((m_limit - m_cursor) < 6)
                     {
                         fill_line_buffer();
                     }
@@ -7937,7 +7937,7 @@ class basic_json
                                 {
                                     goto basic_json_parser_28;
                                 }
-                                if (yych == 0xEF)
+                                if (yych == 0xC3)
                                 {
                                     goto basic_json_parser_30;
                                 }
@@ -7979,7 +7979,19 @@ basic_json_parser_9:
                     {
                         goto basic_json_parser_5;
                     }
-                    goto basic_json_parser_32;
+                    if (yych <= 0x7F)
+                    {
+                        goto basic_json_parser_32;
+                    }
+                    if (yych <= 0xC1)
+                    {
+                        goto basic_json_parser_5;
+                    }
+                    if (yych <= 0xF4)
+                    {
+                        goto basic_json_parser_32;
+                    }
+                    goto basic_json_parser_5;
 basic_json_parser_10:
                     ++m_cursor;
                     {
@@ -8008,18 +8020,18 @@ basic_json_parser_13:
                     {
                         if (yych == '.')
                         {
-                            goto basic_json_parser_37;
+                            goto basic_json_parser_44;
                         }
                     }
                     else
                     {
                         if (yych <= 'E')
                         {
-                            goto basic_json_parser_38;
+                            goto basic_json_parser_45;
                         }
                         if (yych == 'e')
                         {
-                            goto basic_json_parser_38;
+                            goto basic_json_parser_45;
                         }
                     }
 basic_json_parser_14:
@@ -8043,7 +8055,7 @@ basic_json_parser_15:
                     {
                         if (yych == '.')
                         {
-                            goto basic_json_parser_37;
+                            goto basic_json_parser_44;
                         }
                         goto basic_json_parser_14;
                     }
@@ -8051,11 +8063,11 @@ basic_json_parser_15:
                     {
                         if (yych <= 'E')
                         {
-                            goto basic_json_parser_38;
+                            goto basic_json_parser_45;
                         }
                         if (yych == 'e')
                         {
-                            goto basic_json_parser_38;
+                            goto basic_json_parser_45;
                         }
                         goto basic_json_parser_14;
                     }
@@ -8082,7 +8094,7 @@ basic_json_parser_23:
                     yych = *(m_marker = ++m_cursor);
                     if (yych == 'a')
                     {
-                        goto basic_json_parser_39;
+                        goto basic_json_parser_46;
                     }
                     goto basic_json_parser_5;
 basic_json_parser_24:
@@ -8090,7 +8102,7 @@ basic_json_parser_24:
                     yych = *(m_marker = ++m_cursor);
                     if (yych == 'u')
                     {
-                        goto basic_json_parser_40;
+                        goto basic_json_parser_47;
                     }
                     goto basic_json_parser_5;
 basic_json_parser_25:
@@ -8098,7 +8110,7 @@ basic_json_parser_25:
                     yych = *(m_marker = ++m_cursor);
                     if (yych == 'r')
                     {
-                        goto basic_json_parser_41;
+                        goto basic_json_parser_48;
                     }
                     goto basic_json_parser_5;
 basic_json_parser_26:
@@ -8116,9 +8128,9 @@ basic_json_parser_28:
 basic_json_parser_30:
                     yyaccept = 0;
                     yych = *(m_marker = ++m_cursor);
-                    if (yych == 0xBB)
+                    if (yych == 0xAF)
                     {
-                        goto basic_json_parser_42;
+                        goto basic_json_parser_49;
                     }
                     goto basic_json_parser_5;
 basic_json_parser_31:
@@ -8133,15 +8145,59 @@ basic_json_parser_32:
                     {
                         goto basic_json_parser_31;
                     }
-                    if (yych <= 0x1F)
+                    if (yych <= 0xE0)
                     {
-                        goto basic_json_parser_33;
+                        if (yych <= '\\')
+                        {
+                            if (yych <= 0x1F)
+                            {
+                                goto basic_json_parser_33;
+                            }
+                            if (yych <= '"')
+                            {
+                                goto basic_json_parser_34;
+                            }
+                            goto basic_json_parser_36;
+                        }
+                        else
+                        {
+                            if (yych <= 0xC1)
+                            {
+                                goto basic_json_parser_33;
+                            }
+                            if (yych <= 0xDF)
+                            {
+                                goto basic_json_parser_37;
+                            }
+                            goto basic_json_parser_38;
+                        }
                     }
-                    if (yych <= '"')
+                    else
                     {
-                        goto basic_json_parser_34;
+                        if (yych <= 0xEF)
+                        {
+                            if (yych == 0xED)
+                            {
+                                goto basic_json_parser_40;
+                            }
+                            goto basic_json_parser_39;
+                        }
+                        else
+                        {
+                            if (yych <= 0xF0)
+                            {
+                                goto basic_json_parser_41;
+                            }
+                            if (yych <= 0xF3)
+                            {
+                                goto basic_json_parser_42;
+                            }
+                            if (yych <= 0xF4)
+                            {
+                                goto basic_json_parser_43;
+                            }
+                        }
                     }
-                    goto basic_json_parser_36;
 basic_json_parser_33:
                     m_cursor = m_marker;
                     if (yyaccept == 0)
@@ -8231,13 +8287,125 @@ basic_json_parser_36:
                                 }
                                 if (yych <= 'u')
                                 {
-                                    goto basic_json_parser_43;
+                                    goto basic_json_parser_50;
                                 }
                                 goto basic_json_parser_33;
                             }
                         }
                     }
 basic_json_parser_37:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x7F)
+                    {
+                        goto basic_json_parser_33;
+                    }
+                    if (yych <= 0xBF)
+                    {
+                        goto basic_json_parser_31;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_38:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x9F)
+                    {
+                        goto basic_json_parser_33;
+                    }
+                    if (yych <= 0xBF)
+                    {
+                        goto basic_json_parser_37;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_39:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x7F)
+                    {
+                        goto basic_json_parser_33;
+                    }
+                    if (yych <= 0xBF)
+                    {
+                        goto basic_json_parser_37;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_40:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x7F)
+                    {
+                        goto basic_json_parser_33;
+                    }
+                    if (yych <= 0x9F)
+                    {
+                        goto basic_json_parser_37;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_41:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x8F)
+                    {
+                        goto basic_json_parser_33;
+                    }
+                    if (yych <= 0xBF)
+                    {
+                        goto basic_json_parser_39;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_42:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x7F)
+                    {
+                        goto basic_json_parser_33;
+                    }
+                    if (yych <= 0xBF)
+                    {
+                        goto basic_json_parser_39;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_43:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x7F)
+                    {
+                        goto basic_json_parser_33;
+                    }
+                    if (yych <= 0x8F)
+                    {
+                        goto basic_json_parser_39;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_44:
                     yych = *++m_cursor;
                     if (yych <= '/')
                     {
@@ -8245,16 +8413,16 @@ basic_json_parser_37:
                     }
                     if (yych <= '9')
                     {
-                        goto basic_json_parser_44;
+                        goto basic_json_parser_51;
                     }
                     goto basic_json_parser_33;
-basic_json_parser_38:
+basic_json_parser_45:
                     yych = *++m_cursor;
                     if (yych <= ',')
                     {
                         if (yych == '+')
                         {
-                            goto basic_json_parser_46;
+                            goto basic_json_parser_53;
                         }
                         goto basic_json_parser_33;
                     }
@@ -8262,7 +8430,7 @@ basic_json_parser_38:
                     {
                         if (yych <= '-')
                         {
-                            goto basic_json_parser_46;
+                            goto basic_json_parser_53;
                         }
                         if (yych <= '/')
                         {
@@ -8270,39 +8438,39 @@ basic_json_parser_38:
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_47;
+                            goto basic_json_parser_54;
                         }
                         goto basic_json_parser_33;
                     }
-basic_json_parser_39:
+basic_json_parser_46:
                     yych = *++m_cursor;
                     if (yych == 'l')
                     {
-                        goto basic_json_parser_49;
+                        goto basic_json_parser_56;
                     }
                     goto basic_json_parser_33;
-basic_json_parser_40:
+basic_json_parser_47:
                     yych = *++m_cursor;
                     if (yych == 'l')
                     {
-                        goto basic_json_parser_50;
+                        goto basic_json_parser_57;
                     }
                     goto basic_json_parser_33;
-basic_json_parser_41:
+basic_json_parser_48:
                     yych = *++m_cursor;
                     if (yych == 'u')
                     {
-                        goto basic_json_parser_51;
+                        goto basic_json_parser_58;
                     }
                     goto basic_json_parser_33;
-basic_json_parser_42:
+basic_json_parser_49:
                     yych = *++m_cursor;
-                    if (yych == 0xBF)
+                    if (yych == 0xC2)
                     {
-                        goto basic_json_parser_52;
+                        goto basic_json_parser_59;
                     }
                     goto basic_json_parser_33;
-basic_json_parser_43:
+basic_json_parser_50:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8317,7 +8485,7 @@ basic_json_parser_43:
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_54;
+                            goto basic_json_parser_60;
                         }
                         goto basic_json_parser_33;
                     }
@@ -8325,7 +8493,7 @@ basic_json_parser_43:
                     {
                         if (yych <= 'F')
                         {
-                            goto basic_json_parser_54;
+                            goto basic_json_parser_60;
                         }
                         if (yych <= '`')
                         {
@@ -8333,11 +8501,11 @@ basic_json_parser_43:
                         }
                         if (yych <= 'f')
                         {
-                            goto basic_json_parser_54;
+                            goto basic_json_parser_60;
                         }
                         goto basic_json_parser_33;
                     }
-basic_json_parser_44:
+basic_json_parser_51:
                     yyaccept = 1;
                     m_marker = ++m_cursor;
                     if ((m_limit - m_cursor) < 3)
@@ -8353,7 +8521,7 @@ basic_json_parser_44:
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_44;
+                            goto basic_json_parser_51;
                         }
                         goto basic_json_parser_14;
                     }
@@ -8361,15 +8529,15 @@ basic_json_parser_44:
                     {
                         if (yych <= 'E')
                         {
-                            goto basic_json_parser_38;
+                            goto basic_json_parser_45;
                         }
                         if (yych == 'e')
                         {
-                            goto basic_json_parser_38;
+                            goto basic_json_parser_45;
                         }
                         goto basic_json_parser_14;
                     }
-basic_json_parser_46:
+basic_json_parser_53:
                     yych = *++m_cursor;
                     if (yych <= '/')
                     {
@@ -8379,7 +8547,7 @@ basic_json_parser_46:
                     {
                         goto basic_json_parser_33;
                     }
-basic_json_parser_47:
+basic_json_parser_54:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8392,89 +8560,37 @@ basic_json_parser_47:
                     }
                     if (yych <= '9')
                     {
-                        goto basic_json_parser_47;
+                        goto basic_json_parser_54;
                     }
                     goto basic_json_parser_14;
-basic_json_parser_49:
+basic_json_parser_56:
                     yych = *++m_cursor;
                     if (yych == 's')
-                    {
-                        goto basic_json_parser_55;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_50:
-                    yych = *++m_cursor;
-                    if (yych == 'l')
-                    {
-                        goto basic_json_parser_56;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_51:
-                    yych = *++m_cursor;
-                    if (yych == 'e')
-                    {
-                        goto basic_json_parser_58;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_52:
-                    ++m_cursor;
-                    {
-                        continue;
-                    }
-basic_json_parser_54:
-                    ++m_cursor;
-                    if (m_limit <= m_cursor)
-                    {
-                        fill_line_buffer();
-                    }
-                    yych = *m_cursor;
-                    if (yych <= '@')
-                    {
-                        if (yych <= '/')
-                        {
-                            goto basic_json_parser_33;
-                        }
-                        if (yych <= '9')
-                        {
-                            goto basic_json_parser_60;
-                        }
-                        goto basic_json_parser_33;
-                    }
-                    else
-                    {
-                        if (yych <= 'F')
-                        {
-                            goto basic_json_parser_60;
-                        }
-                        if (yych <= '`')
-                        {
-                            goto basic_json_parser_33;
-                        }
-                        if (yych <= 'f')
-                        {
-                            goto basic_json_parser_60;
-                        }
-                        goto basic_json_parser_33;
-                    }
-basic_json_parser_55:
-                    yych = *++m_cursor;
-                    if (yych == 'e')
                     {
                         goto basic_json_parser_61;
                     }
                     goto basic_json_parser_33;
-basic_json_parser_56:
-                    ++m_cursor;
+basic_json_parser_57:
+                    yych = *++m_cursor;
+                    if (yych == 'l')
                     {
-                        last_token_type = token_type::literal_null;
-                        break;
+                        goto basic_json_parser_62;
                     }
+                    goto basic_json_parser_33;
 basic_json_parser_58:
-                    ++m_cursor;
+                    yych = *++m_cursor;
+                    if (yych == 'e')
                     {
-                        last_token_type = token_type::literal_true;
-                        break;
+                        goto basic_json_parser_64;
                     }
+                    goto basic_json_parser_33;
+basic_json_parser_59:
+                    yych = *++m_cursor;
+                    if (yych == 0xBB)
+                    {
+                        goto basic_json_parser_66;
+                    }
+                    goto basic_json_parser_33;
 basic_json_parser_60:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
@@ -8490,7 +8606,7 @@ basic_json_parser_60:
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_63;
+                            goto basic_json_parser_67;
                         }
                         goto basic_json_parser_33;
                     }
@@ -8498,7 +8614,7 @@ basic_json_parser_60:
                     {
                         if (yych <= 'F')
                         {
-                            goto basic_json_parser_63;
+                            goto basic_json_parser_67;
                         }
                         if (yych <= '`')
                         {
@@ -8506,17 +8622,85 @@ basic_json_parser_60:
                         }
                         if (yych <= 'f')
                         {
-                            goto basic_json_parser_63;
+                            goto basic_json_parser_67;
                         }
                         goto basic_json_parser_33;
                     }
 basic_json_parser_61:
+                    yych = *++m_cursor;
+                    if (yych == 'e')
+                    {
+                        goto basic_json_parser_68;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_62:
+                    ++m_cursor;
+                    {
+                        last_token_type = token_type::literal_null;
+                        break;
+                    }
+basic_json_parser_64:
+                    ++m_cursor;
+                    {
+                        last_token_type = token_type::literal_true;
+                        break;
+                    }
+basic_json_parser_66:
+                    yych = *++m_cursor;
+                    if (yych == 0xC2)
+                    {
+                        goto basic_json_parser_70;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_67:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= '@')
+                    {
+                        if (yych <= '/')
+                        {
+                            goto basic_json_parser_33;
+                        }
+                        if (yych <= '9')
+                        {
+                            goto basic_json_parser_71;
+                        }
+                        goto basic_json_parser_33;
+                    }
+                    else
+                    {
+                        if (yych <= 'F')
+                        {
+                            goto basic_json_parser_71;
+                        }
+                        if (yych <= '`')
+                        {
+                            goto basic_json_parser_33;
+                        }
+                        if (yych <= 'f')
+                        {
+                            goto basic_json_parser_71;
+                        }
+                        goto basic_json_parser_33;
+                    }
+basic_json_parser_68:
                     ++m_cursor;
                     {
                         last_token_type = token_type::literal_false;
                         break;
                     }
-basic_json_parser_63:
+basic_json_parser_70:
+                    yych = *++m_cursor;
+                    if (yych == 0xBF)
+                    {
+                        goto basic_json_parser_72;
+                    }
+                    goto basic_json_parser_33;
+basic_json_parser_71:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8551,6 +8735,11 @@ basic_json_parser_63:
                         }
                         goto basic_json_parser_33;
                     }
+basic_json_parser_72:
+                    ++m_cursor;
+                    {
+                        continue;
+                    }
                 }
 
             }
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index 2b2bec9a..470ade21 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -7848,7 +7848,7 @@ class basic_json
                     "\000"         { last_token_type = token_type::end_of_input; break; }
 
                     // anything else is an error
-                    .              { last_token_type = token_type::parse_error; break; }
+                    *              { last_token_type = token_type::parse_error; break; }
                 */
             }
 
diff --git a/test/src/unit-testsuites.cpp b/test/src/unit-testsuites.cpp
index 7cf6c26a..2a1f472e 100644
--- a/test/src/unit-testsuites.cpp
+++ b/test/src/unit-testsuites.cpp
@@ -671,7 +671,7 @@ TEST_CASE("nst's JSONTestSuite")
                         "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape u1x.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_1_surrogate_then_escape.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_UTF-16_incomplete_surrogate.json",
-                        //"test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_UTF8_surrogate_U+D800.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_accentuated_char_no_quotes.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_backslash_00.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_escape_x.json",
@@ -684,15 +684,15 @@ TEST_CASE("nst's JSONTestSuite")
                         "test/data/nst_json_testsuite/test_parsing/n_string_invalid-utf-8-in-escape.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_invalid_backslash_esc.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_invalid_unicode_escape.json",
-                        //"test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf-8.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_invalid_utf8_after_escape.json",
-                        //"test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_iso_latin_1.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_leading_uescaped_thinspace.json",
-                        //"test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_lone_utf8_continuation_byte.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_no_quotes_with_bad_escape.json",
-                        //"test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json",
-                        //"test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json",
-                        //"test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_2_bytes.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_string_overlong_sequence_6_bytes_null.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_single_doublequote.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_single_quote.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_single_string_no_double_quotes.json",
diff --git a/test/src/unit-unicode.cpp b/test/src/unit-unicode.cpp
index 5ab8f524..aa1b7de6 100644
--- a/test/src/unit-unicode.cpp
+++ b/test/src/unit-unicode.cpp
@@ -159,7 +159,7 @@ TEST_CASE("Unicode", "[hide]")
             }
         }
     }
-
+/*
     SECTION("ignore byte-order-mark")
     {
         // read a file with a UTF-8 BOM
@@ -167,7 +167,7 @@ TEST_CASE("Unicode", "[hide]")
         json j;
         CHECK_NOTHROW(j << f);
     }
-
+*/
     SECTION("error for incomplete/wrong BOM")
     {
         CHECK_THROWS_AS(json::parse("\xef\xbb"), std::invalid_argument);

From a8136c578a8bfe700f3b6ee942291d053f582716 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sat, 29 Oct 2016 21:08:30 +0200
Subject: [PATCH 12/19] fixed BOM handling #344

---
 src/json.hpp              | 521 ++++++++++++++++++--------------------
 src/json.hpp.re2c         |  12 +-
 test/src/unit-unicode.cpp |   4 +-
 3 files changed, 252 insertions(+), 285 deletions(-)

diff --git a/src/json.hpp b/src/json.hpp
index 9c142443..13a821ec 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -7620,6 +7620,14 @@ class basic_json
         {
             // fill buffer
             fill_line_buffer();
+
+            // skip UTF-8 byte-order mark
+            if (m_line_buffer.size() >= 3 and m_line_buffer.substr(0, 3) == "\xEF\xBB\xBF")
+            {
+                m_line_buffer[0] = ' ';
+                m_line_buffer[1] = ' ';
+                m_line_buffer[2] = ' ';
+            }
         }
 
         // switch off unwanted functions (due to pointer members)
@@ -7826,7 +7834,7 @@ class basic_json
                         0,   0,   0,   0,   0,   0,   0,   0,
                         0,   0,   0,   0,   0,   0,   0,   0,
                     };
-                    if ((m_limit - m_cursor) < 6)
+                    if ((m_limit - m_cursor) < 5)
                     {
                         fill_line_buffer();
                     }
@@ -7835,7 +7843,7 @@ class basic_json
                     {
                         goto basic_json_parser_6;
                     }
-                    if (yych <= '\\')
+                    if (yych <= '[')
                     {
                         if (yych <= '-')
                         {
@@ -7884,63 +7892,59 @@ class basic_json
                                 {
                                     goto basic_json_parser_17;
                                 }
-                                if (yych == '[')
+                                if (yych <= 'Z')
                                 {
-                                    goto basic_json_parser_19;
+                                    goto basic_json_parser_4;
                                 }
-                                goto basic_json_parser_4;
+                                goto basic_json_parser_19;
                             }
                         }
                     }
                     else
                     {
-                        if (yych <= 't')
+                        if (yych <= 'n')
                         {
-                            if (yych <= 'f')
+                            if (yych <= 'e')
                             {
-                                if (yych <= ']')
+                                if (yych == ']')
                                 {
                                     goto basic_json_parser_21;
                                 }
-                                if (yych <= 'e')
-                                {
-                                    goto basic_json_parser_4;
-                                }
-                                goto basic_json_parser_23;
-                            }
-                            else
-                            {
-                                if (yych == 'n')
-                                {
-                                    goto basic_json_parser_24;
-                                }
-                                if (yych <= 's')
-                                {
-                                    goto basic_json_parser_4;
-                                }
-                                goto basic_json_parser_25;
-                            }
-                        }
-                        else
-                        {
-                            if (yych <= '|')
-                            {
-                                if (yych == '{')
-                                {
-                                    goto basic_json_parser_26;
-                                }
                                 goto basic_json_parser_4;
                             }
                             else
                             {
-                                if (yych <= '}')
+                                if (yych <= 'f')
+                                {
+                                    goto basic_json_parser_23;
+                                }
+                                if (yych <= 'm')
+                                {
+                                    goto basic_json_parser_4;
+                                }
+                                goto basic_json_parser_24;
+                            }
+                        }
+                        else
+                        {
+                            if (yych <= 'z')
+                            {
+                                if (yych == 't')
+                                {
+                                    goto basic_json_parser_25;
+                                }
+                                goto basic_json_parser_4;
+                            }
+                            else
+                            {
+                                if (yych <= '{')
+                                {
+                                    goto basic_json_parser_26;
+                                }
+                                if (yych == '}')
                                 {
                                     goto basic_json_parser_28;
                                 }
-                                if (yych == 0xC3)
-                                {
-                                    goto basic_json_parser_30;
-                                }
                                 goto basic_json_parser_4;
                             }
                         }
@@ -7981,7 +7985,7 @@ basic_json_parser_9:
                     }
                     if (yych <= 0x7F)
                     {
-                        goto basic_json_parser_32;
+                        goto basic_json_parser_31;
                     }
                     if (yych <= 0xC1)
                     {
@@ -7989,7 +7993,7 @@ basic_json_parser_9:
                     }
                     if (yych <= 0xF4)
                     {
-                        goto basic_json_parser_32;
+                        goto basic_json_parser_31;
                     }
                     goto basic_json_parser_5;
 basic_json_parser_10:
@@ -8020,18 +8024,18 @@ basic_json_parser_13:
                     {
                         if (yych == '.')
                         {
-                            goto basic_json_parser_44;
+                            goto basic_json_parser_43;
                         }
                     }
                     else
                     {
                         if (yych <= 'E')
                         {
-                            goto basic_json_parser_45;
+                            goto basic_json_parser_44;
                         }
                         if (yych == 'e')
                         {
-                            goto basic_json_parser_45;
+                            goto basic_json_parser_44;
                         }
                     }
 basic_json_parser_14:
@@ -8055,7 +8059,7 @@ basic_json_parser_15:
                     {
                         if (yych == '.')
                         {
-                            goto basic_json_parser_44;
+                            goto basic_json_parser_43;
                         }
                         goto basic_json_parser_14;
                     }
@@ -8063,11 +8067,11 @@ basic_json_parser_15:
                     {
                         if (yych <= 'E')
                         {
-                            goto basic_json_parser_45;
+                            goto basic_json_parser_44;
                         }
                         if (yych == 'e')
                         {
-                            goto basic_json_parser_45;
+                            goto basic_json_parser_44;
                         }
                         goto basic_json_parser_14;
                     }
@@ -8094,7 +8098,7 @@ basic_json_parser_23:
                     yych = *(m_marker = ++m_cursor);
                     if (yych == 'a')
                     {
-                        goto basic_json_parser_46;
+                        goto basic_json_parser_45;
                     }
                     goto basic_json_parser_5;
 basic_json_parser_24:
@@ -8102,7 +8106,7 @@ basic_json_parser_24:
                     yych = *(m_marker = ++m_cursor);
                     if (yych == 'u')
                     {
-                        goto basic_json_parser_47;
+                        goto basic_json_parser_46;
                     }
                     goto basic_json_parser_5;
 basic_json_parser_25:
@@ -8110,7 +8114,7 @@ basic_json_parser_25:
                     yych = *(m_marker = ++m_cursor);
                     if (yych == 'r')
                     {
-                        goto basic_json_parser_48;
+                        goto basic_json_parser_47;
                     }
                     goto basic_json_parser_5;
 basic_json_parser_26:
@@ -8126,24 +8130,16 @@ basic_json_parser_28:
                         break;
                     }
 basic_json_parser_30:
-                    yyaccept = 0;
-                    yych = *(m_marker = ++m_cursor);
-                    if (yych == 0xAF)
-                    {
-                        goto basic_json_parser_49;
-                    }
-                    goto basic_json_parser_5;
-basic_json_parser_31:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
                         fill_line_buffer();
                     }
                     yych = *m_cursor;
-basic_json_parser_32:
+basic_json_parser_31:
                     if (yybm[0 + yych] & 128)
                     {
-                        goto basic_json_parser_31;
+                        goto basic_json_parser_30;
                     }
                     if (yych <= 0xE0)
                     {
@@ -8151,25 +8147,25 @@ basic_json_parser_32:
                         {
                             if (yych <= 0x1F)
                             {
-                                goto basic_json_parser_33;
+                                goto basic_json_parser_32;
                             }
                             if (yych <= '"')
                             {
-                                goto basic_json_parser_34;
+                                goto basic_json_parser_33;
                             }
-                            goto basic_json_parser_36;
+                            goto basic_json_parser_35;
                         }
                         else
                         {
                             if (yych <= 0xC1)
                             {
-                                goto basic_json_parser_33;
+                                goto basic_json_parser_32;
                             }
                             if (yych <= 0xDF)
                             {
-                                goto basic_json_parser_37;
+                                goto basic_json_parser_36;
                             }
-                            goto basic_json_parser_38;
+                            goto basic_json_parser_37;
                         }
                     }
                     else
@@ -8178,27 +8174,27 @@ basic_json_parser_32:
                         {
                             if (yych == 0xED)
                             {
-                                goto basic_json_parser_40;
+                                goto basic_json_parser_39;
                             }
-                            goto basic_json_parser_39;
+                            goto basic_json_parser_38;
                         }
                         else
                         {
                             if (yych <= 0xF0)
                             {
-                                goto basic_json_parser_41;
+                                goto basic_json_parser_40;
                             }
                             if (yych <= 0xF3)
                             {
-                                goto basic_json_parser_42;
+                                goto basic_json_parser_41;
                             }
                             if (yych <= 0xF4)
                             {
-                                goto basic_json_parser_43;
+                                goto basic_json_parser_42;
                             }
                         }
                     }
-basic_json_parser_33:
+basic_json_parser_32:
                     m_cursor = m_marker;
                     if (yyaccept == 0)
                     {
@@ -8208,13 +8204,13 @@ basic_json_parser_33:
                     {
                         goto basic_json_parser_14;
                     }
-basic_json_parser_34:
+basic_json_parser_33:
                     ++m_cursor;
                     {
                         last_token_type = token_type::value_string;
                         break;
                     }
-basic_json_parser_36:
+basic_json_parser_35:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8227,13 +8223,13 @@ basic_json_parser_36:
                         {
                             if (yych == '"')
                             {
-                                goto basic_json_parser_31;
+                                goto basic_json_parser_30;
                             }
                             if (yych <= '.')
                             {
-                                goto basic_json_parser_33;
+                                goto basic_json_parser_32;
                             }
-                            goto basic_json_parser_31;
+                            goto basic_json_parser_30;
                         }
                         else
                         {
@@ -8241,17 +8237,17 @@ basic_json_parser_36:
                             {
                                 if (yych <= '[')
                                 {
-                                    goto basic_json_parser_33;
+                                    goto basic_json_parser_32;
                                 }
-                                goto basic_json_parser_31;
+                                goto basic_json_parser_30;
                             }
                             else
                             {
                                 if (yych == 'b')
                                 {
-                                    goto basic_json_parser_31;
+                                    goto basic_json_parser_30;
                                 }
-                                goto basic_json_parser_33;
+                                goto basic_json_parser_32;
                             }
                         }
                     }
@@ -8261,13 +8257,13 @@ basic_json_parser_36:
                         {
                             if (yych <= 'f')
                             {
-                                goto basic_json_parser_31;
+                                goto basic_json_parser_30;
                             }
                             if (yych == 'n')
                             {
-                                goto basic_json_parser_31;
+                                goto basic_json_parser_30;
                             }
-                            goto basic_json_parser_33;
+                            goto basic_json_parser_32;
                         }
                         else
                         {
@@ -8275,25 +8271,25 @@ basic_json_parser_36:
                             {
                                 if (yych <= 'r')
                                 {
-                                    goto basic_json_parser_31;
+                                    goto basic_json_parser_30;
                                 }
-                                goto basic_json_parser_33;
+                                goto basic_json_parser_32;
                             }
                             else
                             {
                                 if (yych <= 't')
                                 {
-                                    goto basic_json_parser_31;
+                                    goto basic_json_parser_30;
                                 }
                                 if (yych <= 'u')
                                 {
-                                    goto basic_json_parser_50;
+                                    goto basic_json_parser_48;
                                 }
-                                goto basic_json_parser_33;
+                                goto basic_json_parser_32;
                             }
                         }
                     }
-basic_json_parser_37:
+basic_json_parser_36:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8302,14 +8298,14 @@ basic_json_parser_37:
                     yych = *m_cursor;
                     if (yych <= 0x7F)
                     {
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     if (yych <= 0xBF)
                     {
-                        goto basic_json_parser_31;
+                        goto basic_json_parser_30;
                     }
-                    goto basic_json_parser_33;
-basic_json_parser_38:
+                    goto basic_json_parser_32;
+basic_json_parser_37:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8318,13 +8314,29 @@ basic_json_parser_38:
                     yych = *m_cursor;
                     if (yych <= 0x9F)
                     {
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     if (yych <= 0xBF)
                     {
-                        goto basic_json_parser_37;
+                        goto basic_json_parser_36;
                     }
-                    goto basic_json_parser_33;
+                    goto basic_json_parser_32;
+basic_json_parser_38:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x7F)
+                    {
+                        goto basic_json_parser_32;
+                    }
+                    if (yych <= 0xBF)
+                    {
+                        goto basic_json_parser_36;
+                    }
+                    goto basic_json_parser_32;
 basic_json_parser_39:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
@@ -8334,30 +8346,14 @@ basic_json_parser_39:
                     yych = *m_cursor;
                     if (yych <= 0x7F)
                     {
-                        goto basic_json_parser_33;
-                    }
-                    if (yych <= 0xBF)
-                    {
-                        goto basic_json_parser_37;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_40:
-                    ++m_cursor;
-                    if (m_limit <= m_cursor)
-                    {
-                        fill_line_buffer();
-                    }
-                    yych = *m_cursor;
-                    if (yych <= 0x7F)
-                    {
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     if (yych <= 0x9F)
                     {
-                        goto basic_json_parser_37;
+                        goto basic_json_parser_36;
                     }
-                    goto basic_json_parser_33;
-basic_json_parser_41:
+                    goto basic_json_parser_32;
+basic_json_parser_40:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8366,13 +8362,29 @@ basic_json_parser_41:
                     yych = *m_cursor;
                     if (yych <= 0x8F)
                     {
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     if (yych <= 0xBF)
                     {
-                        goto basic_json_parser_39;
+                        goto basic_json_parser_38;
                     }
-                    goto basic_json_parser_33;
+                    goto basic_json_parser_32;
+basic_json_parser_41:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= 0x7F)
+                    {
+                        goto basic_json_parser_32;
+                    }
+                    if (yych <= 0xBF)
+                    {
+                        goto basic_json_parser_38;
+                    }
+                    goto basic_json_parser_32;
 basic_json_parser_42:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
@@ -8382,95 +8394,72 @@ basic_json_parser_42:
                     yych = *m_cursor;
                     if (yych <= 0x7F)
                     {
-                        goto basic_json_parser_33;
-                    }
-                    if (yych <= 0xBF)
-                    {
-                        goto basic_json_parser_39;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_43:
-                    ++m_cursor;
-                    if (m_limit <= m_cursor)
-                    {
-                        fill_line_buffer();
-                    }
-                    yych = *m_cursor;
-                    if (yych <= 0x7F)
-                    {
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     if (yych <= 0x8F)
                     {
-                        goto basic_json_parser_39;
+                        goto basic_json_parser_38;
                     }
-                    goto basic_json_parser_33;
-basic_json_parser_44:
+                    goto basic_json_parser_32;
+basic_json_parser_43:
                     yych = *++m_cursor;
                     if (yych <= '/')
                     {
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     if (yych <= '9')
                     {
-                        goto basic_json_parser_51;
+                        goto basic_json_parser_49;
                     }
-                    goto basic_json_parser_33;
-basic_json_parser_45:
+                    goto basic_json_parser_32;
+basic_json_parser_44:
                     yych = *++m_cursor;
                     if (yych <= ',')
                     {
                         if (yych == '+')
                         {
-                            goto basic_json_parser_53;
+                            goto basic_json_parser_51;
                         }
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     else
                     {
                         if (yych <= '-')
                         {
-                            goto basic_json_parser_53;
+                            goto basic_json_parser_51;
                         }
                         if (yych <= '/')
                         {
-                            goto basic_json_parser_33;
+                            goto basic_json_parser_32;
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_54;
+                            goto basic_json_parser_52;
                         }
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
+basic_json_parser_45:
+                    yych = *++m_cursor;
+                    if (yych == 'l')
+                    {
+                        goto basic_json_parser_54;
+                    }
+                    goto basic_json_parser_32;
 basic_json_parser_46:
                     yych = *++m_cursor;
                     if (yych == 'l')
                     {
-                        goto basic_json_parser_56;
+                        goto basic_json_parser_55;
                     }
-                    goto basic_json_parser_33;
+                    goto basic_json_parser_32;
 basic_json_parser_47:
-                    yych = *++m_cursor;
-                    if (yych == 'l')
-                    {
-                        goto basic_json_parser_57;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_48:
                     yych = *++m_cursor;
                     if (yych == 'u')
                     {
-                        goto basic_json_parser_58;
+                        goto basic_json_parser_56;
                     }
-                    goto basic_json_parser_33;
-basic_json_parser_49:
-                    yych = *++m_cursor;
-                    if (yych == 0xC2)
-                    {
-                        goto basic_json_parser_59;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_50:
+                    goto basic_json_parser_32;
+basic_json_parser_48:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8481,31 +8470,31 @@ basic_json_parser_50:
                     {
                         if (yych <= '/')
                         {
-                            goto basic_json_parser_33;
+                            goto basic_json_parser_32;
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_60;
+                            goto basic_json_parser_57;
                         }
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     else
                     {
                         if (yych <= 'F')
                         {
-                            goto basic_json_parser_60;
+                            goto basic_json_parser_57;
                         }
                         if (yych <= '`')
                         {
-                            goto basic_json_parser_33;
+                            goto basic_json_parser_32;
                         }
                         if (yych <= 'f')
                         {
-                            goto basic_json_parser_60;
+                            goto basic_json_parser_57;
                         }
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
-basic_json_parser_51:
+basic_json_parser_49:
                     yyaccept = 1;
                     m_marker = ++m_cursor;
                     if ((m_limit - m_cursor) < 3)
@@ -8521,7 +8510,7 @@ basic_json_parser_51:
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_51;
+                            goto basic_json_parser_49;
                         }
                         goto basic_json_parser_14;
                     }
@@ -8529,25 +8518,25 @@ basic_json_parser_51:
                     {
                         if (yych <= 'E')
                         {
-                            goto basic_json_parser_45;
+                            goto basic_json_parser_44;
                         }
                         if (yych == 'e')
                         {
-                            goto basic_json_parser_45;
+                            goto basic_json_parser_44;
                         }
                         goto basic_json_parser_14;
                     }
-basic_json_parser_53:
+basic_json_parser_51:
                     yych = *++m_cursor;
                     if (yych <= '/')
                     {
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     if (yych >= ':')
                     {
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
-basic_json_parser_54:
+basic_json_parser_52:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8560,99 +8549,85 @@ basic_json_parser_54:
                     }
                     if (yych <= '9')
                     {
-                        goto basic_json_parser_54;
+                        goto basic_json_parser_52;
                     }
                     goto basic_json_parser_14;
-basic_json_parser_56:
+basic_json_parser_54:
                     yych = *++m_cursor;
                     if (yych == 's')
                     {
-                        goto basic_json_parser_61;
+                        goto basic_json_parser_58;
                     }
-                    goto basic_json_parser_33;
-basic_json_parser_57:
+                    goto basic_json_parser_32;
+basic_json_parser_55:
                     yych = *++m_cursor;
                     if (yych == 'l')
                     {
-                        goto basic_json_parser_62;
+                        goto basic_json_parser_59;
+                    }
+                    goto basic_json_parser_32;
+basic_json_parser_56:
+                    yych = *++m_cursor;
+                    if (yych == 'e')
+                    {
+                        goto basic_json_parser_61;
+                    }
+                    goto basic_json_parser_32;
+basic_json_parser_57:
+                    ++m_cursor;
+                    if (m_limit <= m_cursor)
+                    {
+                        fill_line_buffer();
+                    }
+                    yych = *m_cursor;
+                    if (yych <= '@')
+                    {
+                        if (yych <= '/')
+                        {
+                            goto basic_json_parser_32;
+                        }
+                        if (yych <= '9')
+                        {
+                            goto basic_json_parser_63;
+                        }
+                        goto basic_json_parser_32;
+                    }
+                    else
+                    {
+                        if (yych <= 'F')
+                        {
+                            goto basic_json_parser_63;
+                        }
+                        if (yych <= '`')
+                        {
+                            goto basic_json_parser_32;
+                        }
+                        if (yych <= 'f')
+                        {
+                            goto basic_json_parser_63;
+                        }
+                        goto basic_json_parser_32;
                     }
-                    goto basic_json_parser_33;
 basic_json_parser_58:
                     yych = *++m_cursor;
                     if (yych == 'e')
                     {
                         goto basic_json_parser_64;
                     }
-                    goto basic_json_parser_33;
+                    goto basic_json_parser_32;
 basic_json_parser_59:
-                    yych = *++m_cursor;
-                    if (yych == 0xBB)
-                    {
-                        goto basic_json_parser_66;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_60:
-                    ++m_cursor;
-                    if (m_limit <= m_cursor)
-                    {
-                        fill_line_buffer();
-                    }
-                    yych = *m_cursor;
-                    if (yych <= '@')
-                    {
-                        if (yych <= '/')
-                        {
-                            goto basic_json_parser_33;
-                        }
-                        if (yych <= '9')
-                        {
-                            goto basic_json_parser_67;
-                        }
-                        goto basic_json_parser_33;
-                    }
-                    else
-                    {
-                        if (yych <= 'F')
-                        {
-                            goto basic_json_parser_67;
-                        }
-                        if (yych <= '`')
-                        {
-                            goto basic_json_parser_33;
-                        }
-                        if (yych <= 'f')
-                        {
-                            goto basic_json_parser_67;
-                        }
-                        goto basic_json_parser_33;
-                    }
-basic_json_parser_61:
-                    yych = *++m_cursor;
-                    if (yych == 'e')
-                    {
-                        goto basic_json_parser_68;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_62:
                     ++m_cursor;
                     {
                         last_token_type = token_type::literal_null;
                         break;
                     }
-basic_json_parser_64:
+basic_json_parser_61:
                     ++m_cursor;
                     {
                         last_token_type = token_type::literal_true;
                         break;
                     }
-basic_json_parser_66:
-                    yych = *++m_cursor;
-                    if (yych == 0xC2)
-                    {
-                        goto basic_json_parser_70;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_67:
+basic_json_parser_63:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8663,44 +8638,37 @@ basic_json_parser_67:
                     {
                         if (yych <= '/')
                         {
-                            goto basic_json_parser_33;
+                            goto basic_json_parser_32;
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_71;
+                            goto basic_json_parser_66;
                         }
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     else
                     {
                         if (yych <= 'F')
                         {
-                            goto basic_json_parser_71;
+                            goto basic_json_parser_66;
                         }
                         if (yych <= '`')
                         {
-                            goto basic_json_parser_33;
+                            goto basic_json_parser_32;
                         }
                         if (yych <= 'f')
                         {
-                            goto basic_json_parser_71;
+                            goto basic_json_parser_66;
                         }
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
-basic_json_parser_68:
+basic_json_parser_64:
                     ++m_cursor;
                     {
                         last_token_type = token_type::literal_false;
                         break;
                     }
-basic_json_parser_70:
-                    yych = *++m_cursor;
-                    if (yych == 0xBF)
-                    {
-                        goto basic_json_parser_72;
-                    }
-                    goto basic_json_parser_33;
-basic_json_parser_71:
+basic_json_parser_66:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
@@ -8711,34 +8679,29 @@ basic_json_parser_71:
                     {
                         if (yych <= '/')
                         {
-                            goto basic_json_parser_33;
+                            goto basic_json_parser_32;
                         }
                         if (yych <= '9')
                         {
-                            goto basic_json_parser_31;
+                            goto basic_json_parser_30;
                         }
-                        goto basic_json_parser_33;
+                        goto basic_json_parser_32;
                     }
                     else
                     {
                         if (yych <= 'F')
                         {
-                            goto basic_json_parser_31;
+                            goto basic_json_parser_30;
                         }
                         if (yych <= '`')
                         {
-                            goto basic_json_parser_33;
+                            goto basic_json_parser_32;
                         }
                         if (yych <= 'f')
                         {
-                            goto basic_json_parser_31;
+                            goto basic_json_parser_30;
                         }
-                        goto basic_json_parser_33;
-                    }
-basic_json_parser_72:
-                    ++m_cursor;
-                    {
-                        continue;
+                        goto basic_json_parser_32;
                     }
                 }
 
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index 470ade21..f6884cb4 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -7620,6 +7620,14 @@ class basic_json
         {
             // fill buffer
             fill_line_buffer();
+
+            // skip UTF-8 byte-order mark
+            if (m_line_buffer.size() >= 3 and m_line_buffer.substr(0, 3) == "\xEF\xBB\xBF")
+            {
+                m_line_buffer[0] = ' ';
+                m_line_buffer[1] = ' ';
+                m_line_buffer[2] = ' ';
+            }
         }
 
         // switch off unwanted functions (due to pointer members)
@@ -7802,10 +7810,6 @@ class basic_json
                     ws = [ \t\n\r]+;
                     ws   { continue; }
 
-                    // ignore byte-order-mark
-                    bom = "\xEF\xBB\xBF";
-                    bom   { continue; }
-
                     // structural characters
                     "[" { last_token_type = token_type::begin_array; break; }
                     "]" { last_token_type = token_type::end_array; break; }
diff --git a/test/src/unit-unicode.cpp b/test/src/unit-unicode.cpp
index aa1b7de6..5ab8f524 100644
--- a/test/src/unit-unicode.cpp
+++ b/test/src/unit-unicode.cpp
@@ -159,7 +159,7 @@ TEST_CASE("Unicode", "[hide]")
             }
         }
     }
-/*
+
     SECTION("ignore byte-order-mark")
     {
         // read a file with a UTF-8 BOM
@@ -167,7 +167,7 @@ TEST_CASE("Unicode", "[hide]")
         json j;
         CHECK_NOTHROW(j << f);
     }
-*/
+
     SECTION("error for incomplete/wrong BOM")
     {
         CHECK_THROWS_AS(json::parse("\xef\xbb"), std::invalid_argument);

From 7b4e6cf70507bda546ab0ad943124453e14c0e1a Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sun, 30 Oct 2016 12:08:29 +0100
Subject: [PATCH 13/19] added implementation-specific tests (#344)

---
 test/src/unit-testsuites.cpp | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/test/src/unit-testsuites.cpp b/test/src/unit-testsuites.cpp
index 2a1f472e..8137158f 100644
--- a/test/src/unit-testsuites.cpp
+++ b/test/src/unit-testsuites.cpp
@@ -760,5 +760,41 @@ TEST_CASE("nst's JSONTestSuite")
                 CHECK_THROWS_AS(j << f, std::invalid_argument);
             }
         }
+
+        SECTION("i")
+        {
+            for (auto filename :
+                    {
+                        "test/data/nst_json_testsuite/test_parsing/i_number_neg_int_huge_exp.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_number_pos_double_huge_exp.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_object_key_lone_2nd_surrogate.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_1st_surrogate_but_2nd_missing.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_surrogate.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_UTF-8_invalid_sequence.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_pair.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogates_escape_valid.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_inverted_surrogates_U+1D11E.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_lone_second_surrogate.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_not_in_unicode_range.json",
+                        //"test/data/nst_json_testsuite/test_parsing/i_string_truncated-utf-8.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+10FFFE_nonchar.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+1FFFE_nonchar.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FDD0_nonchar.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FFFE_nonchar.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_structure_500_nested_arrays.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_structure_UTF-8_BOM_empty_object.json"
+                    }
+                )
+            {
+                CAPTURE(filename);
+                std::ifstream f(filename);
+                json j;
+                CHECK_NOTHROW(j << f);
+            }
+        }
+
     }
 }

From 8d1e65f2971502795106d0de85687f6a54da3121 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sun, 30 Oct 2016 16:07:17 +0100
Subject: [PATCH 14/19] evaluated i-tests (#344)

---
 src/json.hpp                                  |  5 ++
 src/json.hpp.re2c                             |  5 ++
 ...ucture_<.>.json => n_structure_3C.3E.json} |  0
 ..._<null>.json => n_structure_3Cnull3E.json} |  0
 test/src/unit-testsuites.cpp                  | 55 ++++++++++++-------
 5 files changed, 46 insertions(+), 19 deletions(-)
 rename test/data/nst_json_testsuite/test_parsing/{n_structure_<.>.json => n_structure_3C.3E.json} (100%)
 rename test/data/nst_json_testsuite/test_parsing/{n_structure_<null>.json => n_structure_3Cnull3E.json} (100%)

diff --git a/src/json.hpp b/src/json.hpp
index 13a821ec..bba7f85a 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -8934,6 +8934,11 @@ basic_json_parser_66:
                                 // skip the next 10 characters (xxxx\uyyyy)
                                 i += 10;
                             }
+                            else if (codepoint >= 0xDC00 and codepoint <= 0xDFFF)
+                            {
+                                // we found a lone low surrogate
+                                throw std::invalid_argument("missing high surrogate");
+                            }
                             else
                             {
                                 // add unicode character(s)
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index f6884cb4..77add1a2 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -8083,6 +8083,11 @@ class basic_json
                                 // skip the next 10 characters (xxxx\uyyyy)
                                 i += 10;
                             }
+                            else if (codepoint >= 0xDC00 and codepoint <= 0xDFFF)
+                            {
+                                // we found a lone low surrogate
+                                throw std::invalid_argument("missing high surrogate");
+                            }
                             else
                             {
                                 // add unicode character(s)
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json b/test/data/nst_json_testsuite/test_parsing/n_structure_3C.3E.json
similarity index 100%
rename from test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json
rename to test/data/nst_json_testsuite/test_parsing/n_structure_3C.3E.json
diff --git a/test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json b/test/data/nst_json_testsuite/test_parsing/n_structure_3Cnull3E.json
similarity index 100%
rename from test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json
rename to test/data/nst_json_testsuite/test_parsing/n_structure_3Cnull3E.json
diff --git a/test/src/unit-testsuites.cpp b/test/src/unit-testsuites.cpp
index 8137158f..6c3f21f3 100644
--- a/test/src/unit-testsuites.cpp
+++ b/test/src/unit-testsuites.cpp
@@ -703,8 +703,8 @@ TEST_CASE("nst's JSONTestSuite")
                         "test/data/nst_json_testsuite/test_parsing/n_string_unicode_CapitalU.json",
                         "test/data/nst_json_testsuite/test_parsing/n_string_with_trailing_garbage.json",
                         //!"test/data/nst_json_testsuite/test_parsing/n_structure_100000_opening_arrays.json",
-                        "test/data/nst_json_testsuite/test_parsing/n_structure_<.>.json",
-                        "test/data/nst_json_testsuite/test_parsing/n_structure_<null>.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_3C.3E.json",
+                        "test/data/nst_json_testsuite/test_parsing/n_structure_3Cnull3E.json",
                         "test/data/nst_json_testsuite/test_parsing/n_structure_U+2060_word_joined.json",
                         "test/data/nst_json_testsuite/test_parsing/n_structure_UTF8_BOM_no_data.json",
                         "test/data/nst_json_testsuite/test_parsing/n_structure_array_trailing_garbage.json",
@@ -761,31 +761,22 @@ TEST_CASE("nst's JSONTestSuite")
             }
         }
 
-        SECTION("i")
+        SECTION("i -> y")
         {
             for (auto filename :
                     {
+                        // we currently do not limit exponents
                         "test/data/nst_json_testsuite/test_parsing/i_number_neg_int_huge_exp.json",
                         "test/data/nst_json_testsuite/test_parsing/i_number_pos_double_huge_exp.json",
-                        "test/data/nst_json_testsuite/test_parsing/i_object_key_lone_2nd_surrogate.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_1st_surrogate_but_2nd_missing.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_surrogate.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_UTF-8_invalid_sequence.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json",
-                        "test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_pair.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogates_escape_valid.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_inverted_surrogates_U+1D11E.json",
-                        "test/data/nst_json_testsuite/test_parsing/i_string_lone_second_surrogate.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_not_in_unicode_range.json",
-                        //"test/data/nst_json_testsuite/test_parsing/i_string_truncated-utf-8.json",
+                        // we do not pose a limit on nesting
+                        "test/data/nst_json_testsuite/test_parsing/i_structure_500_nested_arrays.json",
+                        // we silently ignore BOMs
+                        "test/data/nst_json_testsuite/test_parsing/i_structure_UTF-8_BOM_empty_object.json",
+                        // we accept and forward non-characters
                         "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+10FFFE_nonchar.json",
                         "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+1FFFE_nonchar.json",
                         "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FDD0_nonchar.json",
-                        "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FFFE_nonchar.json",
-                        "test/data/nst_json_testsuite/test_parsing/i_structure_500_nested_arrays.json",
-                        "test/data/nst_json_testsuite/test_parsing/i_structure_UTF-8_BOM_empty_object.json"
+                        "test/data/nst_json_testsuite/test_parsing/i_string_unicode_U+FFFE_nonchar.json"
                     }
                 )
             {
@@ -796,5 +787,31 @@ TEST_CASE("nst's JSONTestSuite")
             }
         }
 
+        SECTION("i -> n")
+        {
+            for (auto filename :
+                    {
+                        "test/data/nst_json_testsuite/test_parsing/i_object_key_lone_2nd_surrogate.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_1st_surrogate_but_2nd_missing.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_UTF-16_invalid_surrogate.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_UTF-8_invalid_sequence.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogate_pair.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_incomplete_surrogates_escape_valid.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_inverted_surrogates_U+1D11E.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_lone_second_surrogate.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_not_in_unicode_range.json",
+                        "test/data/nst_json_testsuite/test_parsing/i_string_truncated-utf-8.json"
+                    }
+                )
+            {
+                CAPTURE(filename);
+                std::ifstream f(filename);
+                json j;
+                CHECK_THROWS_AS(j << f, std::invalid_argument);
+            }
+        }
     }
 }

From 7adccde714ec9c9db864ef5cb11ff275a914b87a Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sun, 30 Oct 2016 17:10:11 +0100
Subject: [PATCH 15/19] improved coverage and updated README

---
 README.md                         |  7 ++++++-
 test/src/unit-deserialization.cpp | 30 ++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 1f265bf1..1c21bbf6 100644
--- a/README.md
+++ b/README.md
@@ -507,6 +507,11 @@ Thanks a lot for helping out!
 
 - The code contains numerous debug **assertions** which can be switched off by defining the preprocessor macro `NDEBUG`, see the [documentation of `assert`](http://en.cppreference.com/w/cpp/error/assert). In particular, note [`operator[]`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1) implements **unchecked access** for const objects: If the given key is not present, the behavior is undefined (think of a dereferenced null pointer) and yields an [assertion failure](https://github.com/nlohmann/json/issues/289) if assertions are switched on. If you are not sure whether an element in an object exists, use checked access with the [`at()` function](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726).
 - As the exact type of a number is not defined in the [JSON specification](http://rfc7159.net/rfc7159), this library tries to choose the best fitting C++ number type automatically. As a result, the type `double` may be used to store numbers which may yield [**floating-point exceptions**](https://github.com/nlohmann/json/issues/181) in certain rare situations if floating-point exceptions have been unmasked in the calling code. These exceptions are not caused by the library and need to be fixed in the calling code, such as by re-masking the exceptions prior to calling library functions.
+- The library supports **Unicode input** as follows:
+  - Only **UTF-8** encoded input is supported which is the default encoding for JSON according to [RFC 7159](http://rfc7159.net/rfc7159#rfc.section.8.1).
+  - Other encodings such as Latin-1, UTF-16, or UTF-32 are not supported and will yield parse errors.
+  - [Unicode noncharacters](http://www.unicode.org/faq/private_use.html#nonchar1) will not be replaced by the library.
+  - Invalid surrogates (e.g., incomplete pairs such as `\uDEAD`) will yield parse errors.
 
 
 ## Execute unit tests
@@ -517,7 +522,7 @@ To compile and run the tests, you need to execute
 $ make check
 
 ===============================================================================
-All tests passed (8905168 assertions in 35 test cases)
+All tests passed (8905479 assertions in 36 test cases)
 ```
 
 Alternatively, you can use [CMake](https://cmake.org) and run
diff --git a/test/src/unit-deserialization.cpp b/test/src/unit-deserialization.cpp
index c31cb8c8..497454df 100644
--- a/test/src/unit-deserialization.cpp
+++ b/test/src/unit-deserialization.cpp
@@ -250,6 +250,36 @@ TEST_CASE("deserialization")
                 uint8_t v[] = {'\"', 'a', 'a', 'a', 'a', 'a', 'a', 'u', '1', '1', '1', '1', '1', '1', '1', '1', '\\'};
                 CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
             }
+
+            SECTION("case 5")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xC1};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 6")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xDF, 0x7F};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 7")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xDF, 0xC0};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 8")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xE0, 0x9F};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 9")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xEF, 0xC0};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
         }
     }
 }

From 8f7052537404733a213dcfb7fd0ccd1589ef0cd6 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Sun, 30 Oct 2016 17:46:00 +0100
Subject: [PATCH 16/19] more test coverage

---
 test/src/unit-deserialization.cpp | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/test/src/unit-deserialization.cpp b/test/src/unit-deserialization.cpp
index 497454df..a46ffced 100644
--- a/test/src/unit-deserialization.cpp
+++ b/test/src/unit-deserialization.cpp
@@ -280,6 +280,42 @@ TEST_CASE("deserialization")
                 uint8_t v[] = {'\"', 0x7F, 0xEF, 0xC0};
                 CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
             }
+
+            SECTION("case 10")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xED, 0x7F};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 11")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xF0, 0x8F};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 12")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xF0, 0xC0};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 13")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xF3, 0x7F};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 14")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xF3, 0xC0};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
+
+            SECTION("case 15")
+            {
+                uint8_t v[] = {'\"', 0x7F, 0xF4, 0x7F};
+                CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), std::invalid_argument);
+            }
         }
     }
 }

From 94c16b2c31e5018e702c67a631c2ac2850dd8f87 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Tue, 1 Nov 2016 17:01:04 +0100
Subject: [PATCH 17/19] fixed coverage

---
 src/json.hpp      | 36 ++++++++++++++++++------------------
 src/json.hpp.re2c |  2 +-
 2 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/src/json.hpp b/src/json.hpp
index bba7f85a..54266ba3 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -7836,7 +7836,7 @@ class basic_json
                     };
                     if ((m_limit - m_cursor) < 5)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yybm[0 + yych] & 32)
@@ -7966,7 +7966,7 @@ basic_json_parser_6:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yybm[0 + yych] & 32)
@@ -8048,7 +8048,7 @@ basic_json_parser_15:
                     m_marker = ++m_cursor;
                     if ((m_limit - m_cursor) < 3)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yybm[0 + yych] & 64)
@@ -8133,7 +8133,7 @@ basic_json_parser_30:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
 basic_json_parser_31:
@@ -8214,7 +8214,7 @@ basic_json_parser_35:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 'e')
@@ -8293,7 +8293,7 @@ basic_json_parser_36:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8309,7 +8309,7 @@ basic_json_parser_37:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 0x9F)
@@ -8325,7 +8325,7 @@ basic_json_parser_38:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8341,7 +8341,7 @@ basic_json_parser_39:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8357,7 +8357,7 @@ basic_json_parser_40:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 0x8F)
@@ -8373,7 +8373,7 @@ basic_json_parser_41:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8389,7 +8389,7 @@ basic_json_parser_42:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8463,7 +8463,7 @@ basic_json_parser_48:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= '@')
@@ -8499,7 +8499,7 @@ basic_json_parser_49:
                     m_marker = ++m_cursor;
                     if ((m_limit - m_cursor) < 3)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= 'D')
@@ -8540,7 +8540,7 @@ basic_json_parser_52:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= '/')
@@ -8577,7 +8577,7 @@ basic_json_parser_57:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= '@')
@@ -8631,7 +8631,7 @@ basic_json_parser_63:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= '@')
@@ -8672,7 +8672,7 @@ basic_json_parser_66:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();
+                        fill_line_buffer();    // LCOV_EXCL_LINE;
                     }
                     yych = *m_cursor;
                     if (yych <= '@')
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index 77add1a2..eeebd309 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -7800,7 +7800,7 @@ class basic_json
                     re2c:define:YYCURSOR  = m_cursor;
                     re2c:define:YYLIMIT   = m_limit;
                     re2c:define:YYMARKER  = m_marker;
-                    re2c:define:YYFILL    = "fill_line_buffer()";
+                    re2c:define:YYFILL    = "fill_line_buffer(); // LCOV_EXCL_LINE";
                     re2c:yyfill:parameter = 0;
                     re2c:indent:string    = "    ";
                     re2c:indent:top       = 1;

From 59c8343851ffb9ce48ec9f20bee233730835f990 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Wed, 2 Nov 2016 15:44:46 +0100
Subject: [PATCH 18/19] cleanup

---
 src/json.hpp                      | 48 +++++++++++++++----------------
 src/json.hpp.re2c                 | 32 ++++++++++-----------
 test/src/unit-deserialization.cpp | 27 +++++++++--------
 3 files changed, 55 insertions(+), 52 deletions(-)

diff --git a/src/json.hpp b/src/json.hpp
index 54266ba3..a52d2c24 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -7836,7 +7836,7 @@ class basic_json
                     };
                     if ((m_limit - m_cursor) < 5)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(5);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yybm[0 + yych] & 32)
@@ -7966,7 +7966,7 @@ basic_json_parser_6:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yybm[0 + yych] & 32)
@@ -8048,7 +8048,7 @@ basic_json_parser_15:
                     m_marker = ++m_cursor;
                     if ((m_limit - m_cursor) < 3)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(3);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yybm[0 + yych] & 64)
@@ -8133,7 +8133,7 @@ basic_json_parser_30:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
 basic_json_parser_31:
@@ -8214,7 +8214,7 @@ basic_json_parser_35:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 'e')
@@ -8293,7 +8293,7 @@ basic_json_parser_36:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8309,7 +8309,7 @@ basic_json_parser_37:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 0x9F)
@@ -8325,7 +8325,7 @@ basic_json_parser_38:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8341,7 +8341,7 @@ basic_json_parser_39:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8357,7 +8357,7 @@ basic_json_parser_40:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 0x8F)
@@ -8373,7 +8373,7 @@ basic_json_parser_41:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8389,7 +8389,7 @@ basic_json_parser_42:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 0x7F)
@@ -8463,7 +8463,7 @@ basic_json_parser_48:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= '@')
@@ -8499,7 +8499,7 @@ basic_json_parser_49:
                     m_marker = ++m_cursor;
                     if ((m_limit - m_cursor) < 3)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(3);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= 'D')
@@ -8540,7 +8540,7 @@ basic_json_parser_52:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= '/')
@@ -8577,7 +8577,7 @@ basic_json_parser_57:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= '@')
@@ -8631,7 +8631,7 @@ basic_json_parser_63:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= '@')
@@ -8672,7 +8672,7 @@ basic_json_parser_66:
                     ++m_cursor;
                     if (m_limit <= m_cursor)
                     {
-                        fill_line_buffer();    // LCOV_EXCL_LINE;
+                        fill_line_buffer(1);    // LCOV_EXCL_LINE
                     }
                     yych = *m_cursor;
                     if (yych <= '@')
@@ -8738,7 +8738,7 @@ basic_json_parser_66:
             m_start
             m_content
         */
-        void fill_line_buffer()
+        void fill_line_buffer(size_t n = 0)
         {
             // number of processed characters (p)
             const auto offset_start = m_start - m_content;
@@ -8761,10 +8761,10 @@ basic_json_parser_66:
                     }
                 }
 
-                // append 5 characters (size of longest keyword "false") to
-                // make sure that there is sufficient space between m_cursor
-                // and m_limit
-                m_line_buffer.append(5, '\0');
+                // append n characters to make sure that there is sufficient
+                // space between m_cursor and m_limit
+                m_line_buffer.append(1, '\x00');
+                m_line_buffer.append(n - 1, '\x01');
             }
             else
             {
@@ -8772,7 +8772,7 @@ basic_json_parser_66:
                 m_line_buffer.erase(0, static_cast<size_t>(offset_start));
                 // read next line from input stream
                 std::string line;
-                std::getline(*m_stream, line);
+                std::getline(*m_stream, line, '\n');
                 // add line with newline symbol to the line buffer
                 m_line_buffer += line + "\n";
             }
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index eeebd309..476903cd 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -7796,15 +7796,15 @@ class basic_json
                 assert(m_start != nullptr);
 
                 /*!re2c
-                    re2c:define:YYCTYPE   = lexer_char_t;
-                    re2c:define:YYCURSOR  = m_cursor;
-                    re2c:define:YYLIMIT   = m_limit;
-                    re2c:define:YYMARKER  = m_marker;
-                    re2c:define:YYFILL    = "fill_line_buffer(); // LCOV_EXCL_LINE";
-                    re2c:yyfill:parameter = 0;
-                    re2c:indent:string    = "    ";
-                    re2c:indent:top       = 1;
-                    re2c:labelprefix      = "basic_json_parser_";
+                    re2c:define:YYCTYPE      = lexer_char_t;
+                    re2c:define:YYCURSOR     = m_cursor;
+                    re2c:define:YYLIMIT      = m_limit;
+                    re2c:define:YYMARKER     = m_marker;
+                    re2c:define:YYFILL       = "fill_line_buffer(@@); // LCOV_EXCL_LINE";
+                    re2c:define:YYFILL:naked = 1;
+                    re2c:indent:string       = "    ";
+                    re2c:indent:top          = 1;
+                    re2c:labelprefix         = "basic_json_parser_";
 
                     // ignore whitespace
                     ws = [ \t\n\r]+;
@@ -7849,7 +7849,7 @@ class basic_json
                     string          { last_token_type = token_type::value_string; break; }
 
                     // end of file
-                    "\000"         { last_token_type = token_type::end_of_input; break; }
+                    "\x00"         { last_token_type = token_type::end_of_input; break; }
 
                     // anything else is an error
                     *              { last_token_type = token_type::parse_error; break; }
@@ -7887,7 +7887,7 @@ class basic_json
             m_start
             m_content
         */
-        void fill_line_buffer()
+        void fill_line_buffer(size_t n = 0)
         {
             // number of processed characters (p)
             const auto offset_start = m_start - m_content;
@@ -7910,10 +7910,10 @@ class basic_json
                     }
                 }
 
-                // append 5 characters (size of longest keyword "false") to
-                // make sure that there is sufficient space between m_cursor
-                // and m_limit
-                m_line_buffer.append(5, '\0');
+                // append n characters to make sure that there is sufficient
+                // space between m_cursor and m_limit
+                m_line_buffer.append(1, '\x00');
+                m_line_buffer.append(n - 1, '\x01');
             }
             else
             {
@@ -7921,7 +7921,7 @@ class basic_json
                 m_line_buffer.erase(0, static_cast<size_t>(offset_start));
                 // read next line from input stream
                 std::string line;
-                std::getline(*m_stream, line);
+                std::getline(*m_stream, line, '\n');
                 // add line with newline symbol to the line buffer
                 m_line_buffer += line + "\n";
             }
diff --git a/test/src/unit-deserialization.cpp b/test/src/unit-deserialization.cpp
index a46ffced..5d6fcb34 100644
--- a/test/src/unit-deserialization.cpp
+++ b/test/src/unit-deserialization.cpp
@@ -87,10 +87,11 @@ TEST_CASE("deserialization")
     {
         SECTION("stream")
         {
-            std::stringstream ss;
-            ss << "[\"foo\",1,2,3,false,{\"one\":1}";
-            CHECK_THROWS_AS(json::parse(ss), std::invalid_argument);
-            CHECK_THROWS_WITH(json::parse(ss), "parse error - unexpected end of input");
+            std::stringstream ss1, ss2;
+            ss1 << "[\"foo\",1,2,3,false,{\"one\":1}";
+            ss2 << "[\"foo\",1,2,3,false,{\"one\":1}";
+            CHECK_THROWS_AS(json::parse(ss1), std::invalid_argument);
+            CHECK_THROWS_WITH(json::parse(ss2), "parse error - unexpected end of input; expected ']'");
         }
 
         SECTION("string")
@@ -102,20 +103,22 @@ TEST_CASE("deserialization")
 
         SECTION("operator<<")
         {
-            std::stringstream ss;
-            ss << "[\"foo\",1,2,3,false,{\"one\":1}";
+            std::stringstream ss1, ss2;
+            ss1 << "[\"foo\",1,2,3,false,{\"one\":1}";
+            ss2 << "[\"foo\",1,2,3,false,{\"one\":1}";
             json j;
-            CHECK_THROWS_AS(j << ss, std::invalid_argument);
-            CHECK_THROWS_WITH(j << ss, "parse error - unexpected end of input");
+            CHECK_THROWS_AS(j << ss1, std::invalid_argument);
+            CHECK_THROWS_WITH(j << ss2, "parse error - unexpected end of input; expected ']'");
         }
 
         SECTION("operator>>")
         {
-            std::stringstream ss;
-            ss << "[\"foo\",1,2,3,false,{\"one\":1}";
+            std::stringstream ss1, ss2;
+            ss1 << "[\"foo\",1,2,3,false,{\"one\":1}";
+            ss2 << "[\"foo\",1,2,3,false,{\"one\":1}";
             json j;
-            CHECK_THROWS_AS(ss >> j, std::invalid_argument);
-            CHECK_THROWS_WITH(ss >> j, "parse error - unexpected end of input");
+            CHECK_THROWS_AS(ss1 >> j, std::invalid_argument);
+            CHECK_THROWS_WITH(ss2 >> j, "parse error - unexpected end of input; expected ']'");
         }
 
         SECTION("user-defined string literal")

From 700977d73efa8e959cc5615d58d69690bfc5b3d1 Mon Sep 17 00:00:00 2001
From: Niels <niels.lohmann@gmail.com>
Date: Wed, 2 Nov 2016 20:52:15 +0100
Subject: [PATCH 19/19] version bump

---
 CMakeLists.txt                         |   2 +-
 ChangeLog.md                           |  10 +++++++++-
 README.md                              |   4 ++--
 doc/Doxyfile                           |   2 +-
 doc/examples/README.link               |   2 +-
 doc/index.md                           |   2 +-
 doc/json.gif                           | Bin 454722 -> 454831 bytes
 src/json.hpp                           |   2 +-
 src/json.hpp.re2c                      |   2 +-
 test/src/fuzz.cpp                      |   2 +-
 test/src/unit-algorithms.cpp           |   2 +-
 test/src/unit-allocator.cpp            |   2 +-
 test/src/unit-capacity.cpp             |   2 +-
 test/src/unit-class_const_iterator.cpp |   2 +-
 test/src/unit-class_iterator.cpp       |   2 +-
 test/src/unit-class_lexer.cpp          |   2 +-
 test/src/unit-class_parser.cpp         |   2 +-
 test/src/unit-comparison.cpp           |   2 +-
 test/src/unit-concepts.cpp             |   2 +-
 test/src/unit-constructor1.cpp         |   2 +-
 test/src/unit-constructor2.cpp         |   2 +-
 test/src/unit-convenience.cpp          |   2 +-
 test/src/unit-conversions.cpp          |   2 +-
 test/src/unit-deserialization.cpp      |   2 +-
 test/src/unit-element_access1.cpp      |   2 +-
 test/src/unit-element_access2.cpp      |   2 +-
 test/src/unit-inspection.cpp           |   2 +-
 test/src/unit-iterator_wrapper.cpp     |   2 +-
 test/src/unit-iterators1.cpp           |   2 +-
 test/src/unit-iterators2.cpp           |   2 +-
 test/src/unit-json_patch.cpp           |   2 +-
 test/src/unit-json_pointer.cpp         |   2 +-
 test/src/unit-modifiers.cpp            |   2 +-
 test/src/unit-pointer_access.cpp       |   2 +-
 test/src/unit-readme.cpp               |   2 +-
 test/src/unit-reference_access.cpp     |   2 +-
 test/src/unit-regression.cpp           |   2 +-
 test/src/unit-serialization.cpp        |   2 +-
 test/src/unit-testsuites.cpp           |   2 +-
 test/src/unit-unicode.cpp              |   2 +-
 test/src/unit.cpp                      |   2 +-
 41 files changed, 49 insertions(+), 41 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b35b50ea..703c9048 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.0)
 
 # define the project
-project(nlohmann_json VERSION 2.0.6 LANGUAGES CXX)
+project(nlohmann_json VERSION 2.0.7 LANGUAGES CXX)
 
 enable_testing()
 
diff --git a/ChangeLog.md b/ChangeLog.md
index cfe72666..37ef06a9 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,15 @@
 # Change Log
 All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
 
+## [v2.0.7](https://github.com/nlohmann/json/releases/tag/v2.0.7) (2016-11-02)
+[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.6...v2.0.7)
+
+- ""-operators ignore the length parameter [\#340](https://github.com/nlohmann/json/issues/340)
+
+- Check "Parsing JSON is a Minefield" [\#344](https://github.com/nlohmann/json/issues/344)
+
+- fix minor grammar/style issue in README.md [\#336](https://github.com/nlohmann/json/pull/336) ([seeekr](https://github.com/seeekr))
+
 ## [v2.0.6](https://github.com/nlohmann/json/releases/tag/v2.0.6) (2016-10-15)
 [Full Changelog](https://github.com/nlohmann/json/compare/v2.0.5...v2.0.6)
 
@@ -143,7 +152,6 @@ All notable changes to this project will be documented in this file. This projec
 - prevent json.hpp from emitting compiler warnings [\#154](https://github.com/nlohmann/json/issues/154)
 - json::parse\(string\) does not check utf8 bom [\#152](https://github.com/nlohmann/json/issues/152)
 - unsigned 64bit values output as signed [\#151](https://github.com/nlohmann/json/issues/151)
-- Wish feature: json5 [\#150](https://github.com/nlohmann/json/issues/150)
 - overload of at\(\) with default value [\#133](https://github.com/nlohmann/json/issues/133)
 - Memory leak in face of exceptions [\#118](https://github.com/nlohmann/json/issues/118)
 - Find and Count for arrays [\#117](https://github.com/nlohmann/json/issues/117)
diff --git a/README.md b/README.md
index 1c21bbf6..4bcbe97f 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
 [![Build Status](https://travis-ci.org/nlohmann/json.svg?branch=master)](https://travis-ci.org/nlohmann/json)
 [![Build Status](https://ci.appveyor.com/api/projects/status/1acb366xfyg3qybk/branch/develop?svg=true)](https://ci.appveyor.com/project/nlohmann/json)
 [![Coverage Status](https://img.shields.io/coveralls/nlohmann/json.svg)](https://coveralls.io/r/nlohmann/json)
-[![Try online](https://img.shields.io/badge/try-online-blue.svg)](http://melpon.org/wandbox/permlink/3BIhBw91FUVuHE1D)
+[![Try online](https://img.shields.io/badge/try-online-blue.svg)](http://melpon.org/wandbox/permlink/fsf5FqYe6GoX68W6)
 [![Documentation](https://img.shields.io/badge/docs-doxygen-blue.svg)](http://nlohmann.github.io/json)
 [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/nlohmann/json/master/LICENSE.MIT)
 [![Github Releases](https://img.shields.io/github/release/nlohmann/json.svg)](https://github.com/nlohmann/json/releases)
@@ -522,7 +522,7 @@ To compile and run the tests, you need to execute
 $ make check
 
 ===============================================================================
-All tests passed (8905479 assertions in 36 test cases)
+All tests passed (8905491 assertions in 36 test cases)
 ```
 
 Alternatively, you can use [CMake](https://cmake.org) and run
diff --git a/doc/Doxyfile b/doc/Doxyfile
index ce1134ea..3201df52 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -5,7 +5,7 @@
 #---------------------------------------------------------------------------
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = "JSON for Modern C++"
-PROJECT_NUMBER         = 2.0.6
+PROJECT_NUMBER         = 2.0.7
 PROJECT_BRIEF          = 
 PROJECT_LOGO           =
 OUTPUT_DIRECTORY       = .
diff --git a/doc/examples/README.link b/doc/examples/README.link
index ac4a894d..19e256b5 100644
--- a/doc/examples/README.link
+++ b/doc/examples/README.link
@@ -1 +1 @@
-<a target="_blank" href="http://melpon.org/wandbox/permlink/wvAQItW0g01kx5YJ"><b>online</b></a>
\ No newline at end of file
+<a target="_blank" href="http://melpon.org/wandbox/permlink/fsf5FqYe6GoX68W6"><b>online</b></a>
\ No newline at end of file
diff --git a/doc/index.md b/doc/index.md
index 53465552..fcb5b432 100644
--- a/doc/index.md
+++ b/doc/index.md
@@ -268,4 +268,4 @@ The container functions known from STL have been extended to support the differe
 @author [Niels Lohmann](http://nlohmann.me)
 @see https://github.com/nlohmann/json to download the source code
 
-@version 2.0.6
+@version 2.0.7
diff --git a/doc/json.gif b/doc/json.gif
index 943c06af6606c7aa89f687984cf09a3115d5b441..02ffdc8980c232995b562eb2c991a53aa4370798 100644
GIT binary patch
delta 14994
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
Bz_0)S

delta 14873
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
Hfp7Rft{>pN

diff --git a/src/json.hpp b/src/json.hpp
index 5f47d158..4447412c 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index 627c9185..97b777ae 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/fuzz.cpp b/test/src/fuzz.cpp
index 23c0d418..e614b238 100644
--- a/test/src/fuzz.cpp
+++ b/test/src/fuzz.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (fuzz test support)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Run "make fuzz_testing" and follow the instructions.
diff --git a/test/src/unit-algorithms.cpp b/test/src/unit-algorithms.cpp
index f779ea76..83612c37 100644
--- a/test/src/unit-algorithms.cpp
+++ b/test/src/unit-algorithms.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-allocator.cpp b/test/src/unit-allocator.cpp
index 49189c0c..c2487ccf 100644
--- a/test/src/unit-allocator.cpp
+++ b/test/src/unit-allocator.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-capacity.cpp b/test/src/unit-capacity.cpp
index 1378304f..19137407 100644
--- a/test/src/unit-capacity.cpp
+++ b/test/src/unit-capacity.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-class_const_iterator.cpp b/test/src/unit-class_const_iterator.cpp
index fa0fee50..9504dff5 100644
--- a/test/src/unit-class_const_iterator.cpp
+++ b/test/src/unit-class_const_iterator.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-class_iterator.cpp b/test/src/unit-class_iterator.cpp
index 1706120f..428baf50 100644
--- a/test/src/unit-class_iterator.cpp
+++ b/test/src/unit-class_iterator.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-class_lexer.cpp b/test/src/unit-class_lexer.cpp
index b2c951b1..c5999e35 100644
--- a/test/src/unit-class_lexer.cpp
+++ b/test/src/unit-class_lexer.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-class_parser.cpp b/test/src/unit-class_parser.cpp
index 5925d628..c9d5fcd9 100644
--- a/test/src/unit-class_parser.cpp
+++ b/test/src/unit-class_parser.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-comparison.cpp b/test/src/unit-comparison.cpp
index 13287fa2..eb1cf627 100644
--- a/test/src/unit-comparison.cpp
+++ b/test/src/unit-comparison.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-concepts.cpp b/test/src/unit-concepts.cpp
index 0897b503..d9a74029 100644
--- a/test/src/unit-concepts.cpp
+++ b/test/src/unit-concepts.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-constructor1.cpp b/test/src/unit-constructor1.cpp
index 469d21d0..45b7aebe 100644
--- a/test/src/unit-constructor1.cpp
+++ b/test/src/unit-constructor1.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-constructor2.cpp b/test/src/unit-constructor2.cpp
index 3a2cd80c..671e4ad6 100644
--- a/test/src/unit-constructor2.cpp
+++ b/test/src/unit-constructor2.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-convenience.cpp b/test/src/unit-convenience.cpp
index 7bc41f39..e797e5e1 100644
--- a/test/src/unit-convenience.cpp
+++ b/test/src/unit-convenience.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-conversions.cpp b/test/src/unit-conversions.cpp
index c8fe6cc6..b02431be 100644
--- a/test/src/unit-conversions.cpp
+++ b/test/src/unit-conversions.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-deserialization.cpp b/test/src/unit-deserialization.cpp
index 5d6fcb34..8c820ce7 100644
--- a/test/src/unit-deserialization.cpp
+++ b/test/src/unit-deserialization.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-element_access1.cpp b/test/src/unit-element_access1.cpp
index 2ee28150..09e5f479 100644
--- a/test/src/unit-element_access1.cpp
+++ b/test/src/unit-element_access1.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-element_access2.cpp b/test/src/unit-element_access2.cpp
index cd85fc3b..1b825339 100644
--- a/test/src/unit-element_access2.cpp
+++ b/test/src/unit-element_access2.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-inspection.cpp b/test/src/unit-inspection.cpp
index 63b32ad3..8a2eb039 100644
--- a/test/src/unit-inspection.cpp
+++ b/test/src/unit-inspection.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-iterator_wrapper.cpp b/test/src/unit-iterator_wrapper.cpp
index aa357fe1..d4434393 100644
--- a/test/src/unit-iterator_wrapper.cpp
+++ b/test/src/unit-iterator_wrapper.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-iterators1.cpp b/test/src/unit-iterators1.cpp
index 482d33e9..f4d1aad7 100644
--- a/test/src/unit-iterators1.cpp
+++ b/test/src/unit-iterators1.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-iterators2.cpp b/test/src/unit-iterators2.cpp
index d80181ce..27d8fbb8 100644
--- a/test/src/unit-iterators2.cpp
+++ b/test/src/unit-iterators2.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-json_patch.cpp b/test/src/unit-json_patch.cpp
index b3565684..79070135 100644
--- a/test/src/unit-json_patch.cpp
+++ b/test/src/unit-json_patch.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-json_pointer.cpp b/test/src/unit-json_pointer.cpp
index c2ba2bae..1b1e3485 100644
--- a/test/src/unit-json_pointer.cpp
+++ b/test/src/unit-json_pointer.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-modifiers.cpp b/test/src/unit-modifiers.cpp
index 7ac83967..fd7fed56 100644
--- a/test/src/unit-modifiers.cpp
+++ b/test/src/unit-modifiers.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-pointer_access.cpp b/test/src/unit-pointer_access.cpp
index d81205bf..8948360c 100644
--- a/test/src/unit-pointer_access.cpp
+++ b/test/src/unit-pointer_access.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-readme.cpp b/test/src/unit-readme.cpp
index bccd5a23..a5078e90 100644
--- a/test/src/unit-readme.cpp
+++ b/test/src/unit-readme.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-reference_access.cpp b/test/src/unit-reference_access.cpp
index 7cfca564..b7e1b90a 100644
--- a/test/src/unit-reference_access.cpp
+++ b/test/src/unit-reference_access.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-regression.cpp b/test/src/unit-regression.cpp
index 2c3964b6..661edc25 100644
--- a/test/src/unit-regression.cpp
+++ b/test/src/unit-regression.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-serialization.cpp b/test/src/unit-serialization.cpp
index f49f79c3..cc8dcec0 100644
--- a/test/src/unit-serialization.cpp
+++ b/test/src/unit-serialization.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-testsuites.cpp b/test/src/unit-testsuites.cpp
index 6c3f21f3..15fee1f5 100644
--- a/test/src/unit-testsuites.cpp
+++ b/test/src/unit-testsuites.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit-unicode.cpp b/test/src/unit-unicode.cpp
index 5ab8f524..19da6497 100644
--- a/test/src/unit-unicode.cpp
+++ b/test/src/unit-unicode.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
diff --git a/test/src/unit.cpp b/test/src/unit.cpp
index 1a3707c7..6ad7d8e1 100644
--- a/test/src/unit.cpp
+++ b/test/src/unit.cpp
@@ -1,7 +1,7 @@
 /*
     __ _____ _____ _____
  __|  |   __|     |   | |  JSON for Modern C++ (test suite)
-|  |  |__   |  |  | | | |  version 2.0.6
+|  |  |__   |  |  | | | |  version 2.0.7
 |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 
 Licensed under the MIT License <http://opensource.org/licenses/MIT>.